För att konvertera hexadecimala tal till decimala finns två alternativ:
- Konvertera till binärt och binärt till decimalt
- Konvertera direkt till decimalt
Exempel 1 – Konvertera D1CE16 till decimalt
D1CE16 = 1101 0001 1100 11102 =
215 |
214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 |
- I tabellen ovan räknas ut alla potenser som pekas med en etta:
- D1CE16 = 1 x 215 + 1 x 214 + 1 x 212 + 1 x 28 + 1 x 27 + 1 x 26 + 1 x 23 + 1 x 22 + 1 x 21
- D1CE16 = 32768 + 16384 + 4096 + 256 + 128 + 64 + 8 + 4 + 2 = 5371010
- Det kan också räknas ut så här:
- 1110 = 14 = E
- 1100 = 12 = C
- 0001 = 1
- 1101 = 13 = D
- D1CE16
- D1CE16 = 13 x 163 + 1 x 162 + 12 X 161 + 14 x 160 = 13 x 4096 + 256 + 192 + 14 = 53248 + 462 = 5371010
Konvertering mellan tvåtalssystem med bråkdel
- Separera heltalen och bråkdelen.
- För heltalen, dividera med 2 upprepade gånger och samla resten i omvänd ordning.
- För bråkdelen, multiplicera bråkdelen med 2 upprepade gånger och samla in heltalen i samma ordning.
Exempel 1: Decimal till binär (heltaldel divideras med 2 och decimaldel multipliceras med 2)
Konvertera 18.687516 till binär
Heltaldel = 1816 och decimaldel = .687516
Först heltaldelen:
18/2 => kvot = 9, rest = 0
9/2 => kvot = 4, rest = 1
4/2 => kvot = 2, rest = 0
2/2 => kvot = 1, rest = 0
1/2 => kvot = 0, rest = 1 (kvot = 0 stopp)
Heltaldel är 1816 = 100102
Decimaldel = .687516
.6875*2 = 1,375 => heltal är 1
.375*2 = 0,75 => heltal är 0
.75*2 = 1,5 => heltal är 1
.5*2 = 1,0 => heltal är 1
Decimaldel är .687516 = .10112
Resultat: 18.687516 = 10010.10112
Exempel 2: Decimal till hexadecimal (heltaldel divideras med 16 och decimaldelen multipliceras med 16)
Konvertera 18.687510 till hexadecimal
Heltaldel = 1810 och decimaldel .687510
Först heltaldelen:
18/16 => kvot = 1, rest = 2
1/16 => kvot = 0, rest = 1 (kvot = 0 stopp)
Följaktligen är 1810 = 1216
Bråkdel = .687510
.6875*16 = 11,0 => heltal är 1116 (B16)
Decimaldelen är .6875D = .B16
Resultat: 18.687510 = 12.B16
Exempel 3: konvertera hexadecimalt 2E6,A3 till decimalt
Innan jag går vidare studera tabellen nedan:
Decimalt | 104 | 103 | 102 | 101 | 100 | . | 10-1 | 10-2 | 10-3 | 10-4 | 10-5 |
1/10 | 1/100 | 1/1000 | 1/10000 | 1/100000 | |||||||
10000 | 1000 | 100 | 10 | 1 | 0.1 | 0.01 | 0.001 | 0.0001 | 0.00001 | ||
Binärt | 24 | 23 | 22 | 21 | 20 | . | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 |
1/2 | 1/4 | 1/8 | 1/16 | 1/32 | |||||||
16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 | 0.0625 | 0.03125 | ||
Hexadecimalt | 164 | 163 | 162 | 161 | C160 | . | 16-1 | 16-2 | 16-3 | 16-4 | 16-5 |
1/161 | 1/162 | 1/163 | 1/164 | 1/165 | |||||||
65536 | 4096 | 256 | 16 | 1 | 0.0625 | 0.00390625 |
Exempel 2 – Konvertera 2E6.A3 till decimaltal.
- 2E6.A3 = (2 x 162) + (14 x 161) + (6 x 160) . (10 x 16-1) + (3 x 16-2) =
- (2 x 256) + (14 x 16) + (6 x 1) . (10 x 0.0625) + (3 x 0.00390625) =
- (512 + 224 + 6). + (0.625 + 0.01171875) = 742.63671875
Det kunde beräknas på enklare sätt:
2E6.A3 = (2 x 16 x 16) + (14 x 16) + 6 + (10/16) + (3/(16 x 16) = 742.63671875
Man kan använda också en tabell så det förenklar beräkningar:
Exempel 3 – Konvertera 112816 till decimalt:
Operation | Resultat | Anteckningar |
8 x 160 | 8 | Starta från höger och med bas 16 samt exponenten 0 |
2 x 161 | 32 | Öka exponenten med 1 varje gång |
1 x 162 | 256 | |
1 x 163 | 4096 | |
Svar | 4392 |
Exempel 4 – Konvertera DE1.0A0 till decimalt:
Operation | Resultat | Anteckningar |
0 x 16-3 | 0 | Starta från höger och med bas 16 samt exponenten -3 |
10 x 16-2 | 0.0390625 | Öka exponenten med 1 varje gång |
0 x 16-1 | 0 | |
. | . | |
1 x 160 | 1 | |
14 x 161 | 224 | |
13 x 162 | 3328 | |
Svar | 3553.0390625 |
Exempel 5 – Konvertera 4D86B16 till decimalt
Operation | Resultat | Anteckningar |
11 x 160 | 11 | |
6 x 161 | 96 | |
8 x 162 | 2048 | |
13 x 163 | 53248 | |
4 x 164 | 262144 | |
Svar | 317547 |