Zahlensysteme

Transcrição

Zahlensysteme
Ingenieurinformatik
Zahlensysteme
Definition:
Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach
Potenzen von B zerlegt wird.
In der Informatik spricht man auch von Stellenwertsystem, d.h. einem System zur Darstellung
von Zahlen durch Ziffern, bei denen der Wert einer Ziffer von der Stelle abhängt, an welcher
sie innerhalb der Zahl geschrieben ist.
Beispiel: Dezimalsystem (mit der Basis 10)
1
3
1000 100
103
102
Zerlegung nach Potenzen der Basis 10:
1
3
10
101
3
1
100
Wertigkeit der Stellen
1*1000+ 3*100 + 3*10 +3*1 =1333
Dualsystem
Das Dualsystem (auch Binärsystem genannt) ist die Basis der heutigen Computer, da die
elementaren Schalt- und Speicherelemente nur über zwei mögliche Zustände verfügen, im
Allgemeinen EIN/AUS.
Das Dualsystem ist ein polyadisches Zahlensystem
zur Basis 2.
Es verfügt über einen Vorrat von zwei Ziffern, 0 und 1. (Das uns vertraute
Dezimalsystem verfügt über die zehn Ziffern, 0 1 2 3 4 5 6 .9.)
Beim Dualsystem steigt der Stellenwert einer Ziffer (Wertigkeit) von rechts nach links
in Potenzen zur Basis 2 (beim Dezimalsystem in Potenzen zur Basis 10, siehe Beispiel
oben).
Zahlenbereich:
In jedem polyadischen Zahlensystem hängt der darstellbare Zahlenbereich von der Anzahl
der Stellen ab.
Dies bedeutet allgemein:
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
1
Ingenieurinformatik
Mit N Binärstellen bzw. einer Bitfolge der Länge N können dargestellt werden:
N=4
Natürliche Zahlen (positive ganze Zahlen ohne Vorzeichen)
von 0 bis 2N-1
Ganze Zahlen (positiv und negativ) zwischen -2N-1 und 2N-1 -1
Ein Intervall von reellen Zahlen mit begrenzter Genauigkeit
0 bis 15
-8 und 7
Natürliche Zahlen (Länge 4 Bit):
Dual
dezimal
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Definition Bit und Byte :
Bit: basic indissoluable information unit : In der Informationstheorie ist dies die
kleinste Einheit für den Informationsgehalt einer Nachricht.
o
Mit 1 Bit lassen sich 21 = 2 Zustände darstellen.
2
22
4
3
3
2
8
8
28
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
256
2
Ingenieurinformatik
Die Zusammenfassung von acht Bit heißt Byte. Dies ist die minimale Länge eines
adressierbaren Datenworts. Der Rechner arbeitet immer mit Gruppen von Bits,
entweder mit 8 Bits (1Byte), 16 Bits (2Byte), 32 Bits(4Byte) oder 64 Bits (8Byte), d.h.
stets Vielfache von 8.
Kilo, Mega, Giga Byte:
1 KByte enthält nicht 1000 Bytes sondern 210 gleich 1024 Bytes!
20
1 MByte enthält 1024x1024 = 2 Bytes.
30
1 GByte enthält 1024x1024x1024 = 2 Bytes.
Beispiel: Gesucht Dezimaldarstellung der Dualzahl 10110 ?
1*24 + 0*23+1*22+1*21+0*20 =
16
+
0 + 4 + 2 + 0
= 22
Gewichtsfaktoren der Stellen im Dualsystem:
28
27
26
25
24
23
22
21
20
256
128
64
32
16
8
4
2
1
216
215
214
213
212
211
210
29
65536 32768 16384 8192 4096 2048 1024 512
Beispiel: Gesucht Dualdarstellung der Dezimalzahl 1641 ?
1641 : 2 = 820
820 : 2 = 410
410 : 2 = 205
205 : 2 = 102
102 : 2 = 51
51 : 2 = 25
25 : 2 = 12
Rest 1
Rest 0
Rest 0
Rest 1
Rest 0
Rest 1
Rest 1
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
modulo heißt: 1641 mod 2 = 1
3
Ingenieurinformatik
12 : 2 = 6
6:2=3
3:2=1
1: 2 = 0
Rest 0
Rest 0
Rest 1
Rest 1
Ergebnis: (11001101001)2
Probe:
1+8+32+64+512+1024 = (1641)10
Bedeutet: Zahl ist Dezimalzahl (Basis 10)
1.1 Dualzahlen mit Vorzeichen
Das erste Bit (von links) wird als Vorzeichen Bit verwendet. Steht dort eine Null ist die Zahl
positiv. Steht dort eine 1, also das komplementäre Bit zu 0, handelt es sich um eine negative
Zahl. Dabei wird die Null als positive Zahl aufgefasst.
Darstellbarer Bereich für 4 Dualstellen:
Eine Stelle wird für das Vorzeichen Bit benötigt, d.h. es bleiben nur noch 3 Stellen und damit
3
2 = 8 Zahlen für den positiven Bereich und 8 Zahlen für den negativen (insgesamt 16). Da
die Null als positive Zahl aufgefasst wird, ergibt sich eine Unsymmetrie: -8 bis -1 und 0 bis 7
Ganze Zahlen (Länge 4Bit):
dual
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
dezimal
0
1
2
3
4
5
6
7
-8
-7
-6
-5
-4
-3
-2
-1
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
4
Ingenieurinformatik
Komplementbildung: Die negative Dualzahl ergibt sich, indem man bei der entsprechend
positiven Zahl stellenweise alle Nullen durch Eins ersetzt und umgekehrt ( d. h. alle Bits
invertiert) und eine Eins dazuaddiert. Die gleiche Regel gilt bei Umwandlung von negativer
nach positiver Zahl ( Wohldefiniertheit ).
Bei 4 Dualstellen gibt es keine Bitfolge für +8. Die Komplementbildung von -8 liefert demzufolge wieder
(1000)2. (Gleiches gilt für die +16 bei 5 Dualstellen, siehe Zahlenring S. 11.)
Achtung: Umwandeln einer Dualzahl in eine Dezimalzahl anhand der Gewichtsfaktoren
gilt nur für positive Dualzahlen. Wenn die Dualzahl mit Vorzeichen zu interpretieren ist
und an der ersten Binärstelle (von links) eine 1 hat, also negativ ist, muss diese zuerst durch
Komplementbildung in die entsprechend positive Zahl (bzw. in ihren Betrag) konvertiert
werden. Diese ist dann mit den Gewichtsfaktoren umzurechnen.
Beispiel: Welchen Dezimalwert hat die mit Vorzeichen behaftete 5-Bit Dualzahl (10100)2 ?
Anhand der 1 an der ersten Stelle von links, handelt es sich um eine negative Dualzahl. Demnach muss diese
vor Anwendung der Gewichtsfaktoren in die entsprechend positive Dualzahl umgewandelt werden.
Komplementbildung und 1 addieren:
01011
+
1
_____
01100
1*8 + 1*4 +0*2 + 0*1 = 12
Ergebnis: -12
Subtraktion zweier Dualzahlen:
Die Substraktion wird stets als Addition des negativen Betrags durchgeführt:
a b
a + (-b)
Beispiel: Gegeben 4-stellige Dualzahlen:
a=3
0011
b=7
0111
invertieren:
1 addieren:
1000
+
1
________
1001
0011
+
1001
____________
1100 = -4
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
5
Ingenieurinformatik
Beispiel: Gegeben 4-stellige Dualzahlen:
a=5
0101
b=5
0101
1010
1
_____
(1)0000 = 0
Überlauf entfällt, da Zahl auf 4 Stellen beschränkt ist.
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
6
Ingenieurinformatik
2
Hexadezimalsystem
Polyadisches Zahlensystem
zur Basis 16.
Es verfügt über einen Vorrat von 16 Hexziffern, 0 bis 9, A, B, C, D, E, F.
Der Stellenwert einer Ziffer (Wertigkeit) von rechts nach links steigt in Potenzen zur
Basis 16 (vgl. Gewichtsfaktoren).
hexadezimal dual
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
dezimal
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Die Zahl 16 ist mit 1er Hex-Stelle bzw. 4 Dualstellen nicht mehr darstellbar.
Zusammenhang zwischen Dual- und Hexadezimalsystem:
4 Bits ( sog. Halb-Byte) werden einer Hex-Ziffer zugeordnet.
Dadurch wird für den Menschen eine lange Folge von Nullen und Einsen übersichtlicher.
Gewichtsfaktoren der Stellen im Hexadezimalsystem:
165
1048576
164
65536
163
4096
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
162
256
161
160
16
1
7
Ingenieurinformatik
Beispiel: Gesucht Dezimaldarstellung und Dualdarstellung für Hex-Zahl (9CB8)16 ?
Dezimaldarstellung: Gewichtfaktoren einsetzen
9*4096 + 12*256 + 11*16 + 8*1 = (40120)10
Dualdarstellung:
1.Möglichkeit: Sukzessive Division der Dezimalzahl 40120 durch 2
40120 : 2 = 20060
20060 : 2 = 10030
10030 : 2 = 5015
5015 : 2 = 2507
2507 : 2 = 1253
1253 : 2 = 626
626:2 =
313
usw.
Rest 0
Rest 0
Rest 0
Rest 1
Rest 1
Rest 1
Rest 0
2. Möglichkeit: Hexdezimal-Zahl direkt nach Dual umwandeln
9
C
B
8
(1001 1100 1011 1000) 2
Im Dualsystem werden 16 Binärstellen benötigt, im Hex-System ¼ der
Stellen, d.h. 4 Stellen.
Beispiel: Gegeben ist Dezimalzahl 5555. Geben sie die zugehörigen hex und binär Zahlen an.
5555 :16 = 347
347 : 16 = 21
21 : 16 = 1
1 : 16 = 0
Rest 3
Rest 11
Rest 5
Rest 1
(1
5
B
3) 16
(0001 0101 1011 0011) 2
Frage: Wie viele hex-Stellen hat ein 16-bit Wort?
Antwort: 16/4 = 4 Stellen
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
8
Ingenieurinformatik
Beispiel aus HTML:
Die Hintergrundfarben in HTML- Dokumenten werden in hex Zahlen angegeben. Der sog.
RGB-Wert ( Red Green Blue Anteil) einer Farbe ergibt sich aus einer 6-stelligen Hex-Zahl,
jeweils 2 Stellen für einen Farbanteil.
z.B.
R G B
# 00 00 00
# ff ff ff
# ff 00 00
# 00 ff 00
schwarz
weiß
rot
grün
Es können auf diese Weise 166 verschiedene Farben codiert werden ( 224 ca. 16,7 Mio ).
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
9
Ingenieurinformatik
3 Oktalsystem
Polyadisches Zahlensystem
zur Basis 8.
Es verfügt über einen Vorrat von 8 Ziffern, 0 bis 7.
Der Stellenwert einer Ziffer (Wertigkeit) von rechts nach links steigt in Potenzen zur
Basis 8 (vgl. Gewichtsfaktoren).
Gewichtsfaktoren der Stellen im Oktalsystem:
84
83
82
81
80
4096
512
64
8
1
oktal
dual
dezimal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Beispiel: (177)8 in Dezimalzahl umwandeln.
1*64 + 7*8 + 7 = (127)10
Probe:
127 : 8 = 15 Rest 7
15 : 8 = 1 Rest 7
1 : 8 = 0 Rest 1
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
( 1 7 7 )8
10
Ingenieurinformatik
4 Zahlenring
Dr.-Ing. K. Jäger-Hezel, 26.03.2007
11