MezData-Logo

Zahlensysteme und Adressrechnen

Information wird in Speicherzellen gespeichert

Speicherzelle Low, 0 High, 1

Die Speicherzellen (Bits) in gebräuchlichen Datenverarbeitungs-Systemen können zwei Zustände annehmen:

 

Low oder High, 0 oder 1.

 

Kodierung von Information

Daher muss die zu verabeitende Information in diese binäre Darstellung umgewandelt, kodiert werden:

"Kodes, die nur zwei Zeichen verwenden, heissen binäre Kodes."

Bit 1 Bit 0 Schreibweise
00
01
10
11
Zahl Kodierung Bit 1 Bit 0
=
=
=
=

Die Zahlen 0..3 sollen kodiert werden. Das sind 4 Werte, mit einer Speicherzelle ist das so nicht möglich - die kann ja nur 0 oder 1. Man braucht zwei Stellen (Bits), damit sind 4 Kombinationen möglich!

Auf der einen Seite haben wir nun 4 Kombinationen von 2 Bits auf der anderen die 4 Zahlen 0..3.

Welche Bit-Kombination entspricht nun einer Zahl?

Die Zahlen müssen als Bit-Kombination kodiert werden.

Anzahl möglicher Kodierungen

Möglichkeiten der Zuordnung
Zahl Kode 1 Kode 2 Kode 3 .. Kode 24
0 00 00 00 .. 11
1 01 10 10 .. 10
2 10 01 11 .. 01
3 11 11 01 .. 00

Es gibt 4! = 1*2*3*4 = 24 Möglichkeiten einer Kodierung!

Verteile 4 verschiedene Hüte auf 4 Haken [Permutation, Fakultät].
Jede dieser Möglichkeiten ist ein Kode. Es lassen sich ausserordentlich viele binäre Kodes aufstellen, d.h. wie die Information im System dargestellt wird.

Angewendet werden jedoch nur einige wenige der vielen möglichen binären Kodes.

Eine besonders einfache Zuordnung ist das Dualsystem.

Informations-Kodierung-Systeme

Dualsystem (Stellenwertsystem)
Stelle n .. 2 1 0
Wertigkeit 2n .. 22 21 20
Wert - .. 4 2 1
Beispiel - .. 1 0 1
5 =     1*4+ 0*2+ 1*1

Man ordnet jeder Stelle einer Zahl eine Wertigkeit zu, pro Stelle zwei verschiedene Ziffern: 0,1

Für Menschen: Oktalsystem -8er
Stelle n .. 2 1 0
Wertigkeit 8n .. 82 81 80
Wert - .. 64 8 1
Beispiel - .. 1 0 1
65 =     1*64 + 0*8 + 1*1

Da so viele Einsen für Menschen schlecht lesbar waren, gruppierte man bei der Darstellung 3 Dual-Stellen zu einer Oktal-Stelle zusammen, pro Stelle 8 verschiedene Ziffern: 0,1,2,3,4,5,6,7

Hexadezimalsystem -16er (Sedezimalsystem)

Stelle n .. 2 1 0
Wertigkeit 16n .. 162 161 160
Wert - .. 256 16 1
Beispiel - .. 1 0 1
257 =     1*256 + 0*16 + 1*1

Das Oktalsystem hat sich als nicht besonders praktisch erwiesen, daher gruppiert man heute 4 Dual-Stellen zu einer Hex-Stelle zusammen, pro Stelle 16 verschiedene Ziffern: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Geschickterweise lassen sich je 4 Bit (16 Zustände) zu einer Hex-Stelle zusammenfassen, man bezeichnet 4 Bit daher als ein Nibble, oder Halbbyte.

Wie sag ich es dem Computer (Eingabeformate von Zahlen)

Dezimalzahlen: 1234

Dualzahlen haben ein 0b davor: 0b110 = 6

Oktalzahlen haben eine 0 davor: 010 = 8

Hexadezimalzahlen haben 0x davor: 0x10 = 16

Umrechnung von Zahlensystemen

Stelle 7 6 5 4 3 2 1 0  
Wertigkeit 27 26 25 24 23 22 21 20
Wert 128 64 32 16 8 4 2 1
Beispiel 0 1 1 1 1 0 1 1
Berechnung 0*128 + 1*64 + 1*32 + 1*16 + 1*8 + 0+4 + 1*2 + 1*1 = 123

Umrechnung von Zahlensystemen

Dual -> Dezimal

Beispiel: 011110112 -> ?10

 

Übung

10102 -> 8+2 = 1010

Dezimal -> Dual

Beispiel: 12310 -> 111 10112

123 : 2 = 61 Rest: 1
 61 : 2 = 30 Rest: 1
 30 : 2 = 15 Rest: 0
 15 : 2 = 7  Rest: 1
  7 : 2 = 3  Rest: 1
  3 : 2 = 1  Rest: 1
  1 : 2 = 0  Rest: 1

Übung: 7710 -> 100 11012

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

Übung: 3510 -> 10 00112

35 : 2 = 17  Rest: 1
17 : 2 =  8  Rest: 1
 8 : 2 =  4  Rest: 0
 4 : 2 =  2  Rest: 0
 2 : 2 =  1  Rest: 0
 1 : 2 =  0  Rest: 1
Dezimal Dualzahl Hexziffer
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Dual -> Hex

Beispiel: 1101 01112 -> D716

Bilde von rechts nach links Vierergruppen und wandle immer 4 Bit in Hexziffer um:

Dualzahl   1101 0111
Hexziffer    D    7

Übungen

10102 -> A16

000100012 -> 1116

Hex -> Dual

Problem: D716 -> 1101 01112

Wandle Hexziffern in Dualzahlen um:

Hexzahl    D    7
Dualzahl 1101 0111

Übungen

1216 -> 0001 00102

AFFE16 -> 1010 1111 1111 11102

Hex -> Dezimal

Problem: D716 -> 21510

Multipliziere entsprechend der Wertigkeit:

(D=13) 13 * 161 + 7 * 160 = 208 + 7 = 215

Übungen

1216 -> 16+2 = 1810

AA16 -> 160 + 10 = 17010

Dezimal -> Hex

Problem: 12310 -> 7B16
123 : 16 =   7  Rest: 11 -> B
  7 : 16 =   0  Rest:  7 -> 7
Übung: 7710 -> 4D16
77 : 16 =  4  Rest: 13  -> D
 4 : 16 =  0  Rest:  4  -> 4
Übung: 3510 -> 2316
35 : 16 =  2  Rest:  3 -> 3
 2 : 16 =  0  Rest:  2 -> 2

Weitere Aufgaben...

Einheiten sind Binär Ki Mi Gi Ti

Beispiel Klassisch Größe Abkürzung neu Beispiele
Kilo 1 KB 210 = 1024 Ki 1 KiB für 1024 Byte
Mega 1 MB 220 Mi 1 MiB für 10242 Byte
Giga 1 GB 230 Gi 1 GiB für 10243 Byte
Terra 1 TB 240 Ti 1 TiB für 10244 Byte

Das Informatiker-Kilo wiegt 1024. Um dies zu kennzeichen werden neuerdings die Abkürzugen um ein 'i' erweitert: KiBiByte für KiloBinaryByte oder kurz KiB.

Links zur Vertiefung: http://de.wikipedia.org/wiki/Kibibyte     http://de.wikipedia.org/wiki/Datenmenge

Adressrechnen

Adressen n Rechnung Leitungen Adressbereich Binär Adressbereich HEX
2 log2 2 = 1 0 .. 1 0 .. 1
16 log2 16 = 4 0 .. 1111 0 .. F
256 log2 256 = 8 0 .. 1111 1111 0 .. FF
1k = 1.024 log2 1024 = 10 0 .. 11 1111 1111 0 .. 3 FF
64k = 65536 log2 65536 = 16 0 .. 1111 1111 1111 1111 0 .. FF FF
1M = 1.048.576 log2 1M = 20 0 .. 20 Einsen 0 .. F FF FF
1G = 1.073.741.824 log2 1G = 30 0 .. 30 Einsen 0 .. 3F FF FF FF