MezData-Logo Creative Commons License 499 Lösungen Button :TI-BASIS: Zahlensysteme und Adressrechnen

Einleitung in die Problematik

Information wird in Speicherzellen gespeichert

Speicherzelle Low, 0 High, 1
Die Speicherzellen in gebräuchlichen Datenverarbeitungs-Systemen können zwei Zustände (Zeichen) annehmen:

Low oder High, 0 oder 1.

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

Klaus Beuth, Elektronik 4 Digitaltechnik:
"Kodes, die nur zwei Zeichen verwenden, heissen binäre Kodes."

Eine Speicherzelle wird Bit genannt. Weil ein Bit nur zwei verschiedene Werte annehmen kann auch binäre Stelle, es gibt nur die Ziffern 0 und 1:

Unter einem Bit versteht man eine binäre Stelle. Diese kann 0 oder 1 sein.

Kodierung von Information

Problem: 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!

Bit 1 Bit 0 Schreibweise
00
01
10
11
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.

Zahl Kodierung Bit 1 Bit 0
=
=
=
=

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) Für Menschen: Oktalsystem -8er Für Menschen: Hexadezimalsystem -16er (Sedezimalsystem)
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
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
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
Man ordnet jeder Stelle einer Zahl eine Wertigkeit zu, pro Stelle zwei verschiedene Ziffern: 0,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 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.

Umrechnung von Zahlensystemen

Umrechnung von Zahlensystemen

Dual -> Dezimal

Problem: 011110112 -> ?10

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
Übungen

10102 -> 8+2 = 1010

Dezimal -> Dual

Problem: 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

Problem: 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 Umrechnungen:

Weitere Aufgaben...

Einheiten sind Binär Ki Mi Gi Ti

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.

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

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

Teilen und Herrschen

Gegeben ist ein byteweise organisierter Speicher mit 1 MiB. Der Speicher soll in 1 KiB grossen Blöcken (Seiten) verwaltet werden.

1 MiB Speicher 20 Leitungen
1 Ki Seiten 10 Leitungen 1 KiB 10 Leitungen

Gegeben ist eine 2 GiB Festplatte, bestehend aus einer durchlaufenden Anzahl von Sektoren der Größe 512 Byte.