Wie kann ich Dualzahlen in Dezimalzahlen umwandeln?

2 Antworten

beispiel (16-bit):  

0 0 1 0 _ 1 1 0 1 _ 0 0 0 1 _ 0 1 1 1   die stellen haben folgenden dezimalwert:  

32768 16384 8192 4096 _ 2048 1024 512 256 _ 128 64 32 16 _ 8 4 2 1  

und jetzt multiplizieren (von rechts beginnend): 

1x1 + 1x2 + 1x4 + 0x8 + 1x16 + 0x32 + 0x 64 + 0x128 + 1x256 + 0x512 + 1x1024 + 1x2048 + 0x4096 + 1x8192 + 0x16384 + 0x32768  

ist:  

1+2+4+16+256+1024+2048+8192=11543

Dezimalzahl: von rechts nach links wird die Ziffer mit der wachsenden Zehnerpotenz multipliziert und alles addiert.

Also: 3428 = 8 * 10^0 + 2 * 10^1 + 4 * 10^2 + 3 * 10^3

Derselbe Vorgang läuft bei Dualzahlen ab:

1001100 = 0 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 + 0 * 2^4 + 0 * 2^5 + 1 * 2^6

also

1001100 = 0 * 1 + 0 * 2  + 1 * 4 + 1 * 8 + 0 * 16 + 0 * 32 + 1 * 64

1001100 = 4 + 8 + 64 = 76

(Für die Umrechnung von Hexadezimalzahlen gilt dasselbe, mit dem Unterschied, dass die Potenzen von 16 eingesetzt werden und die Werte von 10 bis 15 durch die Buchstaben A bis F dargestellt werden.) Also ist z.B.

A0F = 15 * 16^0 + 0 * 16^1 + 10 * 16^2

A0F = 15 * 1 + 0 * 16 + 10 * 256 = 15 + 2560 = 2575