Zahlenkonvertierung Zahlen in einem Zahlensystem einer bestimmten Basis haben einen Wert Z(B), der sich so aus den einzelnen Ziffern zi ergibt: Hier am Beispiel einer Dezimalzahl (Basis 10) und der Wertberechnung mit dem Potenzverfahren: 123,456(10) = 1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2 + 6*10-3 Potenzverfahren Das Potenzverfahren liefert den Wert einer Zahl, die in einem bestimmten Zahlensystem (zu einer bestimmten Basis) gegeben ist. Dieses Beispiel zeigt eine Dualzahl: 1011,1(2) = 1 * b3 + 0 * b2 + 1 * b1 + 1 * b0 + 1 * b-1 = 1 * 23 + 0 * 22 + 1 * 21 + 1 + 1/2 = 11,5 (wenn b = 2) Horner Schema Wir wenden das Horner-Verfahren an, wenn wir aus einem anderen Zahlensystem in das dezimale Zahlensystem umrechnen möchten. Die Formel des Horner-Verfahrens entsteht durch Ausklammern aus der Formel des Potenzverfahrens. Betrachten wir zunächst ganze Zahlen: gegeben: 1011 … Dualzahl (Basis b = 2), gesucht ist ihr Dezimalwert Bestimmung des ganzen Teils des Wertes (im System, in dem gerechnet wird): wert = ((1 *2 + 0) *2 + 1) *2 + 1 = 11 Man kann diese Zahlen und Rechenoperationen ganz leicht nacheinander in den Taschenrechner eingeben. Die Klammern stehen dafür ideal: Die Berechnung erfolgt in Eingabe-Reihenfolge von links nach rechts. Wenn man die Formel ausmultipliziert, erhält man die Darstellung im Potenzverfahren. Wenn man oft schriftlich umrechnet, kann man sich an eine schematische Schreibweise gewöhnen, das Horner Schema. Damit geht das schriftliche Umrechnen einer Zahl in das Dezimalsystem schneller: Zu 03 - Zahlenkonvertierung.docx 1 1 0 mal 2 1 2 zusammen 2 1 mal 2 1 4 zusammen 5 mal 2 10 zusammen 11 Betrachten wir Zahlen mit Nachkommastellen: gegeben: 13FC,E8 (16) … Hexadezimale Zahl (Basis b = 16), gesucht ist ihr Dezimalwert Wert vor dem Komma = ((1 *16 + 3) *16 + 15) *16 + 12 Wert nach dem Komma = ((8 / 16 + 14) /16 (Beachte: Ziffern von rechts nach links einsetzen!) Auch hier kann man zur schriftlichen Berechnung ein Schema aufzeichnen: Horner Schema: 13FC,E8 (16) wird umgerechnet. Das Ergebnis ist 5116,90625 (10) 1 3 16+3 1*16 19*16 von links n. rechts F (15) C (12) 304+15 5104+12 319*16 5116 0, 0,90625 E (14) 8 0,5+14 14,5 : 16 8 : 16 von rechts nach links Oder eine anderes mögliches schriftliches Schema für dieselbe Aufgabe: 16* 16*19 16*319 1 1+ 3 3 + F 15 + C 12 0, = = = = 19 319 5116 5116 E (14 8 8 +0.5) : 16 : 16 = 0,5 = 0,90625 = 0,90625 Divisionsmethode (Restverfahren) Die Divisionsmethode ist in dem Fall brauchbar, wenn wir eine dezimale Zahl in ein anderes Zahlensystem konvertieren wollen. Konvertierung ganzer Zahlen: Die Zahl wird solange durch die Zahlensystem-Basis geteilt (2 für Umwandlung in das Dualsystem, oder 8 für Oktalsystem, …), bis die ganzzahlige Teilung das Ergebnis 0 liefert. Bei jedem Schritt wird der Rest notiert. Diese Rest-Ziffern liefern die Zahl im anderen Zahlensystem (Der letzte Rest wird die erste Ziffer der Zahl, usw.) Zu 03 - Zahlenkonvertierung.docx 2 11 Dezimal in Dual: 11 : 2 = 5 Rest ...1 5 : 2 = 2 Rest ..1 2 : 2 = 1 Rest .0 1 : 2 = 0 Rest 1 ---------------------Ergibt Binärzahl: 1011 140 Dezimal in Oktal: 140 : 8 = 17 Rest ..4 17 : 8 = 2 Rest .1 2 : 8 = 0 Rest 2 ----------------------Ergibt Oktalzahl: 214 Nachkommastellen bearbeitet man mit Multiplikation. Wie viel ist z. B. 0,65 im Dualsystem? Restverfahren: 0 | ,65 --+------------------------0 | 0,65 * 2 = 1 + 0,3 (ganzer + gebrochener Teil) | 0,3 * 2 = 0 + 0,6 | 0,6 * 2 = 1 + 0,2 | 0,2 * 2 = 0 + 0,4 | 0,4 * 2 = 0 + 0,8 | 0,8 * 2 = 1 + 0,6 | 0,6 * 2 = 1 + 0,2 … also etwa 0,1010011 | usw. Noch ein Beispiel zur Divisionsmethode: 5116,33(10) umrechnen in eine Hexadezimale Zahl Ganzer Teil: | Nachkommastellen: 5116 Anzahl + Rest | ,33 ganzer + gebr. Teil ------------------------+---------------------------5116 : 16 = 319 Rest C | 0,33 * 16 = 5 + 0,28 319 : 16 = 19 Rest F | 0,28 * 16 = 4 + 0,48 19 : 16 = 1 Rest 3 | 0,48 * 16 = 7 + 0,68 1 : 16 = 0 Rest 1 | 0,68 * 16 = A + 0,88 | 0,88 * 16 = E + 0,08 | usw. Ergebnis: 13FC,547AE (16) (Quelle: http://studenten.freepage.de/cgi-bin/feets/freepage_ext/41030x030A/rewrite/meph/entw/artikel/daten01.htm) Zu 03 - Zahlenkonvertierung.docx 3 Konvertierung zwischen Dual-, Oktal und Hexadezimalzahlen Die Umrechnung von Hexadezimalzahlen in Oktalzahlen ist einfacher. Man konvertiert jede Stelle der Hexadezimalzahl in vier duale Stellen (0 oder 1). Danach fasst man je drei Stellen zu einer Oktalzahl zusammen. Umgekehrt funktioniert das entsprechend auch. Aufgabe: Verschiedene Beispiele auf dem Papier lösen. Zu 03 - Zahlenkonvertierung.docx 4