Informatik
Buchtipp
Hacker's Guide
Anonymous
39.95 €

Buchcover

Anzeige
Stichwortwolke
forum

Zurück   ChemieOnline Forum > Naturwissenschaften > Informatik

Hinweise

Informatik Programmiersprachen, Softwareentwicklung.

Anzeige

Thema geschlossen
 
Themen-Optionen Ansicht
Alt 04.01.2009, 20:11   #1   Druckbare Version zeigen
ehemaliges Mitglied  
nicht mehr Mitglied
Beiträge: n/a
Umrechnung zwischen verschiedenen Zahlensystemen

In diesem Thread wird noch einmal zusammengefasst, wie man zwischen verschiedenen Zahlensystemen umrechnet.
Das Zahlensystem, in welchem wir rechnen, ist das Dezimalsystem, also das System zur Basis 10. In der Informatik verwendet man nicht selten auch weitere Zahlensysteme, wie zum Beispiel das Binärsystem (auch Dualsystem), also das System zur Basis 2 oder auch das Hexadezimalsystem (Das System zur Basis 16).
Umrechnen kann man generell auf zwei verschiedene Weisen. Kann man gut im Quellsystem rechnen, bietet sich das System der mehrfachen Teilung (auch: umgekehrtes Hornerschema) an. Es wird also häufig dann angewendet, wenn man aus dem Dezimalsystem in ein anderes Stellwertsystem umrechnen möchte. Kann man gut im Zielsystem rechnen, bietet sich hingegen das Hornerschema an. Es wird also meistens dann verwendet, wenn man in das Dezimalsystem umwandeln möchte.

Umgekehrtes Hornerschema

Bei ersterem Algorithmus wird durch die Zahl geteilt, welche die Basis des Quellsystems darstellt. Der Rest wird notiert, anschließend wird weiter geteilt, bis das Teilen nicht mehr möglich ist. Die Reste stellen anschließend die einzelnen Ziffer der konvertierten Zahl da.

Beispiel: Die Zahl {(42433)_{10}} soll aus dem Zehnersystem in das Oktalsystem umgewandelt werden.

42433 : 8 = 5304 R 1
5304 : 8 = 663 R 0
663 : 8 = 82 R 7
82 : 8 = 10 R 2
10 : 8 = 1 R 2
1 : 8 = 0 R 1

Da nun ein Teilen nicht mehr möglich ist, sind wir fertig. Von unten nach oben gelesen ergeben sich aus den Resten so die einzelnen Ziffern. {(42433)_{10} = (122701)_8}.
Ein bisschen schwerer wird es, wenn das Zielsystem ein System zur Basis {n > 10} ist, da uns dann die Ziffern ausgehen. Wir kennen aus dem Dezimalsystem unsere Ziffern von 0 bis 9. Da bei einem System zur Basis {n < 10} weniger Ziffern gebraucht werden, haben wir kein Problem. bei Systemen zu einer Basis größer Zehn behilft man sich üblicherweise mit Buchstaben. So ist 10=A,11=B,12=C etc. Das funktioniert natürlich auch nur bis uns die Buchstaben ausgehen.

Beispiel: Die Zahl {(42433)_{10}} soll aus dem Zehnersystem in das Hexadezimalsystem umgewandelt werden.

42433 : 16 = 2652 R 1
2652 : 16 = 165 R 12
165 : 16 = 10 R 5
10 : 16 = 0 R 10

Da wir keine Ziffern für 10 und 12 haben, nutzen wir die Buchstaben. Somit ist 10=A und 12=C. {(42433)_{10} = (A5C1)_{16}}.

Hornerschema

Wenn nun eine Zahl aus einem Stellwertsystem in das Dezimalsystem umgerechnet werden soll, müssen lediglich die einzelnen Ziffern in das Dezimalsystem umgewandelt werden und diese dann mit den verschiedenen Wertigkeiten aufaddiert werden. Dies kann man sich überlegen, indem man eine Zahl im Zehnersystem betrachtet. So ist die Zahl {42433} nichts anderes als {4\cdot 10^4+2 \cdot 10^3+4 \cdot 10^2+3 \cdot 10^1 + 3 \cdot 10^0}. Genauso funktioniert es mit einer Zahl in einem anderen Stellwertsystem. Zum Beispiel entspricht die Zahl {(122701)_8} einfach {1 \cdot 8^5 + 2 \cdot  8^4 + 2 \cdot 8^3 + 7 \cdot 8^2 + 0 \cdot 8^1 + 1 \cdot 8^0}. Zusammengerechnet ergibt sich {1 \cdot 8^5 + 2 \cdot  8^4 + 2 \cdot 8^3 + 7 \cdot 8^2 + 0 \cdot 8^1 + 1 \cdot 8^0 = 42433}. Auch in einem Stellwertsystem zur Basis {n \geq 10} ist dies möglich. Bei der Zahl {(A5C1)_{16}} müssen wir nur zum Beispiel wieder das A als 10 darstellen und das C als 12. Dann ergibt sich {10 \cdot 16^3 + 5 \cdot 16^2 + 12 \cdot 16^1 + 1 \cdot 16^0 = 42433}.
Das Hornerschema dient lediglich dem schnelleren Zusammenrechnen, da bei dem Hornerschema weniger Additionen und Multiplikationen ausgeführt werden. Dann ist auch das Rechnen ohne Taschenrechner etwas angenehmer.

Bei dem Hornerschema wird im Prinzip nur ausgeklammert. Nehmen wir unser obiges Beispiel {10 \cdot 16^3 + 5 \cdot 16^2 + 12 \cdot 16^1 + 1 \cdot 16^0}. Um zu vermeiden, dass wir Potenzen in der Rechnung haben, klammern wir die 16 aus.
{10 \cdot 16^3 + 5 \cdot 16^2 + 12 \cdot 16^1 + 1 \cdot 16^0 = 10 \cdot 16^3 + 5 \cdot 16^2 + 12 \cdot 16^1 + 1 = (10 \cdot 16^2 + 5 \cdot 16 + 12)16 + 1 = ((10 \cdot 16 + 5)16 + 12)16 + 1}.
Statt wie vorher 6 Multiplikationen benötigen wir mit dem Hornerschema nur noch 3 Multiplikationen. Durch fortgesetztes Klammern können wir also den Rechenwand deutlich verringern.

Wenn wir eine Konvertierung durchführen müssen, in der das Dezimalsystem selbst nicht beteiligt ist, so lohnt es sich meistens zunächst in das Dezimalsystem umzuwandeln und anschließend in das eigentliche Zielsystem. Der Grund ist, dass man für eine direkte Umwandlung entweder in dem Quell- oder in dem Zielsystem rechnen können muss. Da dies meistens etwas unkomfortabel ist, sollte man das Dezimalsystem als Zwischensystem nutzen.
 
Anzeige
Anzeige


Thema geschlossen

Themen-Optionen
Ansicht

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unterschiede zwischen den verschiedenen Treibstoffe Chemie361 Allgemeine Chemie 7 31.10.2010 14:36
Was ist der Unterschied zwischen O2 und 2O? Und zwischen 2Al und Al2 simplechemie Allgemeine Chemie 2 10.10.2009 14:52
Rechnung mit Zahlensystemen tashina Informatik 5 04.01.2009 18:38
Bindungen zwischen Aminosäuren! Zwischen was und wie? trannoc Organische Chemie 3 30.06.2008 18:39
DC mit verschiedenen AS ehemaliges Mitglied Organische Chemie 3 01.10.2003 21:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:09 Uhr.



Anzeige