hexadecimal
Hej! Jag undrar hur jag räknar ut detta:
0xBEDA12D4 + 0F = 0xBEDA12E3.
Konverterar jag 0F till decimal eller binär eller vad gör jag?
Räkna hexadecimalt hela vägen. Hur mycket är 0x4 + 0xF?
20... eller?
nej!! 19...
19 bas 10 ja, men om du räknar hexadecimalt så nej, inte 19.
Okej, vad blir det då?
Jag beskriver nu likheten mellan decimal och hexadecimal addition.
Decimal addition: så länge summan är mindre än eller lika med 9 summerar man som vanligt, men om summan blir större än 9 så får man en minnessiffra i nästa position.
Exempel:
3+6 = 9, men 4+8 = 12
Hexadecimal addition fungerar på samma sätt. Så länge summan blir mindre än eller lika med 0xF så summerar man som vanligt.
Exempel:
0x3+0x4 = 0x7
0x2+0x6 = 0x9
0x7+0x6 = 0xD
Och så vidare.
Men om summan blir större än 0xF så får man en minnessiffra i nästa position.
Exempel
0x8+0x9 = 0x11
0xB+0xA = 0x15
Och så vidare.
Man kan tänka så här:
0xBEDA12D4 + 0F = 0xBEDA12D4 + 10 - 1 = 0xBEDA12E4 - 1 = 0xBEDA12E3
Eftersom det hexadecimala talet F är precis ett steg från att fylla ut och bli till ett tal med lägsta värdet i andra hexadecimala positionen är det som då man adderar med 9 i det decimala talsystemet: höj tiotalet med 1 och minska entalet med 1 och du har adderat med 9.
Behöver du mer hjälp?