Einleitung
Es gibt viele verschiedene Systeme um bestimmte Zahlen darzustellen. Das bekannteste ist wohl das Dezimalsystem, in dem jede beliebige Zahl mit Hilfe der Ziffern 0-9 dargestellt werden kann. In der Programmierung trifft man jedoch auch häufig auf andere Arten der Zahlendarstellung, wie dem Hexadezimalsystem oder dem wohl wichtigsten in der Computerwelt, dem Binärsystem
Dezimalsystem
Basiszahlen : 10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) Zahlendarstellung : 1, 234, 5.6 ... Berechnungsbeispiel : 234 2*102 + 3*101 + 4*100 = 200 + 30 + 4 = 234
Hexadezimalsystem
Basiszahlen : 16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) A = 10, B = 11, C = 12, D = 13, E = 14, F = 15 Zahlendarstellung : 12, AB, D3F ... Umrechnungsbeispiel : D3F D*162 + 3*161 + F*160 = 12*256 + 3*16 + 15*1 = 3072 + 48 +15 = 3135
Binärsystem
Basiszahlen : 2 (0, 1) Zahlendarstellung : 10, 0101, 1001 ... Umrechnungsbeispiel : 1010 1*23 + 0*22 + 1*21 + 0*20 = 1*8 + 0*4 + 1*2 + 0*1 = 8 + 0 + 2 + 0 = 10Wie euch bestimmt aufgefallen ist gibt es eine bestimmte Regel, mit welcher man jede beliebige Zahl eines Zahlensystems in eine Dezimalzahl umrechnen kann. Diese möchte ich hier kurz voretsllen.
Dezimalzahl = [Ziffer] * [Basiszahl][Exponent]
Der Exponent bildet sich aus der Anzahl der Ziffern einer Zahl. Es gilt:
Exponent -> ...[4][3][2][1][0].[-1][-2][-3]...(in den eckigen Klammern steht der Exponent der Ziffern vor und hinter dem Komma)
Das ist zwar sehr hilfreich, aber wie berechnet man eine Dezimalzahl in eine Binär oder Hexadezimalzahl um, und wie bestimmt man die Binärzahl einer Hexadezimalzahl und andersrum? Dies werde ich nun erklären.
Dezimal -> Hexadezimal
Beispiel:Zahl = 1234
Basiszahlen (Hexadezimal) = 16
1234 / 16 = 77 Rest: 2
77 / 16 = 4 Rest: 13
4 / 16 = 0 Rest: 4
Nun muss man die Rest-Ziffern von unten nach oben lesen, aus zweistelligen Zahlen werden bekanntlich Buchstaben, also ist der
Hexadezimalwert = 4D2
Dezimal -> Binär
Beispiel:Zahl = 1234
Basiszahlen (Binär) = 2
1234 / 2 = 617 Rest: 0
617 / 2 = 308 Rest: 1
308 / 2 = 154 Rest: 0
154 / 2 = 77 Rest: 0
77 / 2 = 38 Rest: 1
38 / 2 = 19 Rest: 0
19 / 2 = 9 Rest: 1
9 / 2 = 4 Rest: 1
4 / 2 = 2 Rest: 0
2 / 2 = 1 Rest: 0
1 / 2 = 0 Rest: 1
Auch hier müssen die Rest-Ziffern wieder von unten nach oben gelesen werden. Die Dezimalzahl 1234 ergibt im Binärsystem also
Binärwert = 10011010010
Hexadezimal -> Binär
0 = 0000 6 = 0110 C = 1100 1 = 0001 7 = 0111 D = 1101 2 = 0010 8 = 1000 E = 1110 3 = 0011 9 = 1001 F = 1111 4 = 0100 A = 1010 5 = 0101 B = 1011
Beispiel:
Zahl = B7
B = 1011
7 = 0111
Binärwert = 10110111
Binär -> Hexadezimal
Zahl = 1010 0101 11011010 = A
0101 = 5
1101 = D
Hexadezimalwert = A5D
Keine Kommentare:
Kommentar veröffentlichen