Hexadezimalsystem addieren!

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Hexadezimale Zahlen kaben als Basis die 16 statt der 10. Deshalb erfindet man weitere Ziffern:

A = 10

B = 11

C = 12

D = 13

E = 14

F = 15

Wenn du jetzt F + 2 addierst, erreichst du dezimal die 17, aber im Hexadezimalsystem ist es genau eins über der 10.

Daher F + 2 = 11

Woher ich das weiß:eigene Erfahrung – Unterricht - ohne Schulbetrieb

gh7401  30.10.2013, 19:59

Im dekadischen System machst du einen Übertrag, wenn du bei der Addition die neun überschreitest. Im Hex-System machst du entsprechend einen Übertrag, wenn du F überschreitest.

1
Volens  30.10.2013, 20:03

Nehmen wir jetzt mal etwas Größeres:

1F + 3E

Du addierst wie immer durch Übereinanderschreiben der Zahlen. Dann fängst du rechts an. F + E wären 1D (dezimal 15 + 14 = 29, das ist 13 über der 16, hexa also D über 10). Das D schreibst du hin, die 1 ist im Sinn.

Dann addierst du die nächsten Ziffern: 1 + 3 + die 1 im Sinn. Ergebnis 5.

Daher

1F + 3E = 5D (dezimal 31 + 62 = 93)

Ich hoffe, ich habe mich nicht vertippt.

1

Im Prinzip genauso wie wenn du normale Zahlen aus dem Dezimalsystem addierst - Zahlen untereinander schreiben (1er Stellen untereinander). von oben nach unten zusammenzählen. Normalerweise: wenn 10 oder mehr raus kommt, kommt auf die nächste Spalte "1 im Sinn". Mach das einfach mal mit drei Zahlen 302+ 2087 + 205. In der letzten Spalte ergibt sich 14, also: 4 hinschreiben, 1 im Sinn (in die nächste Spalte). Im Hexadezimalsystem läuft das genauso, außer, dass du noch je EINE Ziffer für 10,11,12,13, 14 und 15 hast (must du dir ausdenken, was du da nimmst). Wenn die drei Zahlen da oben im Hexadezimalsystem gestanden hätten, hättest du also in der letzten Spalte das Symbol für 14 herausbekommen und nichts im SInn geschrieben... Wieviel sind die Zahlen wert? DIe Zahl 16 ist in der HExadezimalschreibweise 10 (0 Einer, 1 Sechzehner). Die Zahl 100 im Hexadezimalsystem hat den Wert 16x16 = 256. (0 Einer, 0 Sechzehner, 1 Zweihudertsechsunfünfziger). Hilft das?

Genauso wie du "normale" (dezimale) Zahlen addierst. Zusammenzählen und wenn die Basis erreicht ist, dann gibt es einen Übertrag.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012

man stellt sich vor, Zahlen sind „Wörter“ und die Ziffern {0; 1; …; 9} sind „Buchstaben“. Wörter dürfen nur aus diesen Buchstaben bestehen. Jetzt mal erweitert man das „Alphabet“ auf 6 weiteren „Buchstaben“: {0; 1; …; 9; A; B; C; D; E; F}.

Was sind nun die Zahlen?

Eigentlich sind die etwa:

|;  ||; |||; ||||; |||||; …

aber so eine quasi primitive römische Darstellung ist zu ineffizient. Daher wurde eine Darstellung erfunden, die wie ein Odometer / Kilometerzähler funktioniert … nur mit unbeschränkt vielen Rädern.

Der Algorithmus für Addition ist genau so wie bei Basis-zehn, nur muss man beachten:

+ |  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
====================================================
0 |  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
1 |  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 10
2 |  2  3  4  5  6  7  8  9  A  B  C  D  E  F 10 11
3 |  3  4  5  6  7  8  9  A  B  C  D  E  F 10 11 12
4 |  4  5  6  7  8  9  A  B  C  D  E  F 10 11 12 13
5 |  5  6  7  8  9  A  B  C  D  E  F 10 11 12 13 14
6 |  6  7  8  9  A  B  C  D  E  F 10 11 12 13 14 15
7 |  7  8  9  A  B  C  D  E  F 10 11 12 13 14 15 16
8 |  8  9  A  B  C  D  E  F 10 11 12 13 14 15 16 17
9 |  9  A  B  C  D  E  F 10 11 12 13 14 15 16 17 18
A |  A  B  C  D  E  F 10 11 12 13 14 15 16 17 18 19
B |  B  C  D  E  F 10 11 12 13 14 15 16 17 18 19 1A
C |  C  D  E  F 10 11 12 13 14 15 16 17 18 19 1A 1B
D |  D  E  F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
E |  E  F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D
F |  F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E