Lite kort om binär och hexadecimal talrepresentation.

Vårt talsystem kallas för det decimala talsystemet för att det har tio siffror 0-9, större tal än nio har minst två siffror.Ett binärt tal består endast av ettor och nollor. Ett till tio blir binärt 1, 10, 11 100, 101, 110, 111, 1000, 1001, 1010. En binär siffra (etta eller nolla) kallas för en bit, åtta bitar kallas en byte och Två byte (sexton bitar) kallas för ett word. Det högsta tal man kan åstadkomma med åtta bitar är ju om alla bitarna är ettor 11111111. Hur mycket är det i vårt talsystem? För att räkna om från binärt till decimalt börjar man från höger och multiplicerar siffran med 2 upphöjt till siffrans plats från höger. Första siffran har plats 0. Tvåan kallas basen och är antalet siffror som talsystemet har. Binärt tal: En byte kan alltså anta värden mellan 0 till 255 vilket blir 256 olika kombinationer. En byte var alltså åtta bitar och 2^8 är just 256. Ett word (16 bitar) borde då kunna bli max 2^16 minus ett (räkna bort nollan) vilket blir 65535. Räkna efter själv och se om det stämmer. När man programmerar i assembler använder man oftast bytes och words men det blir lite oöverskådligt att bara använda massa ettor och nollor, därför brukar man skriva talen i det hexadecimala talsystemet. Hexadecmala tal (hex-tal) har basen 16. Hur går det då? det finns ju bara tio siffror! Jo man får ta hjälp av bokstäver också. Basen sexton innebär ensiffriga tal från noll till femton, dessa är: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Att räkna om från Hexadecimalt till decimalt sker likadant som från binärt till decimalt: Jämför skillnaden mellan den decimala, hexadecimala och binära talrepresentationen för samma tal: Anledningen till att man använder just det hexadecimala talsystemet är att det finns en enkel metod att omvandla från hexadecimalt till binärt och vice versa. Det är nämligen bara att omvandla siffra för siffra. Om vi vill omvandla Talet 7B Hex till binärt tar man först 7 hex = 0111 binärt sen tar man B hex vilket ju är 11 decimalt vilket är 1011 binärt. sen lägger man siffrorna efter varandra 0111 1011 vilket ju som vi tidigare sett är just 7B Hex. Det är alltid så att en hexadecimal siffra motsvarar fyra binära siffror (bitar). En byte kunde ju max vara 11111111 binärt vilket blir 1111 1111 = 15 15 = F F. FF alltså, vilket ju också är det maximala talet man kan skriva med två Hex siffror. På samma sätt blir ett word (16 bitar) alltid fyra Hex siffror. Det största talet man kan skriva med fyra hex-siffror är ju talet FFFF vilket blir 15*16^0 + 15*16^1 + 15*16^2 + 15*16^3 = 65535 som vi tidigare antog vara det största talet ett word kunde vara vilket visat sig stämma. Metoden att omvandla siffra för siffra fungerar alltså inte på "våra" decimala tal utan endast mellan hex och binär tal. Om du vill veta mer om binära och hexadecimala tal gå till biblioteket, leta på nätet eller fråga en kompis.

950519 Albert "Hexbert" Veli

e-mail: dat94avi@bilbo.mdh.se