Dezimal-Dual-Hexadezimalsystem

Neue Frage »

rewe Auf diesen Beitrag antworten »
Dezimal-Dual-Hexadezimalsystem
Hallo!

Ich würde gerne wissen, wie man am besten Zahlen dieser drei System in die Schreibweise eines der anderen System umwandelt.

Also Dezimal nach Dual, Dual nach Dezimal, Dezimal nach Hexadezimal usw.


Besondere Probleme ergeben sich da bei Zahlen mit Nachkommastellen.

Ich habe hier auch einige Beispiele, mit denen ich Probleme habe:

Sei im Dezimalsystem.
Wie sieht diese Zahl dann im Dualsystem aus? (in normalisierter Gleitpunktdarstellung mit 5-stelliger Mantisse)

Sei im Dualsystem.
Wie sieht x im Dezimal- bzw. Hexadezimalsystem aus?



Würde mich sehr über Erklärungen dieser Aufgaben freuen, da es wichtig ist, dass ich soetwas lösen kann (Klausur).

Vielen Dank! smile
Bakatan Auf diesen Beitrag antworten »

Soweit mir bekannt ist immer

Die Darstellung im System zur Basis b.
In Dezimal ist dann z.B.
Du versuchst dann praktisch das ganze in
darzustellen. Bei 0,3 im Dezimalsystem ist das ganze im Binärsystem relativ umständlich. Ich hab mal Wolfram gefragt, "0.3 to binary" bzw "0.3 to base 2" ergibt

Wie genau man das jetzt allerdings entwickelt weiss ich nicht genau. Vielleicht durch probieren und rantasten? folglich muss die erste Nachkommastelle 0 sein. Dann also die nächste 1. Dann also wieder 0. Und so weiter.

PS: Ich hab für "Dualsystem" mal "Binärsystem" verwendet. Binary ist das etwas häufiger benutze Wort für das 2er System ( beides geht denke ich mal ).

edit: Hab Hexadezimal vergessen Hammer
Funktioniert natürlich genauso, blos braucht man mehr als 10 Ziffern, 0,1,2,3,4,5,6,7,8,9 reicht nicht mehr aus, also gehts einfach weiter mit A,B,C,D,E,F. 0x10 ist dann dementsprechend 16DEZ, 0x0F 15DEZ und 0xF0 15*16DEZ.

PS: Sorry vielleicht sollte ich die "0x" Methode nicht verwenden, es ist aber eine ziemlich starke Gewohnheit vom Programmieren her. Nichts anderes als: 0x23 ist 23 im Hexadezimalsystem.
frank09 Auf diesen Beitrag antworten »

Hallo,
ich hatte hier schon mal was zur Umrechung speziell von dezimal in ein anderes Zahlensystem geschrieben:
Maschinenzahlen
Für 0,3 ginge es dann so: (Mantisse 1<m<b, also in diesem Fall zwischen 1 und 2. Ist die Zahl kleiner eins, schiebst du deine (noch unbekannte) Binärzahl eine Stelle nach der anderen nach links (was einer Multiplikation mit 2 entspricht) bis sie größer 1 ist, also
0,3*2 = 0,6
0,6*2= 1,2
2x nach links heißt du musst den Exponenten auf -2 setzen, damit sich der Wert nicht ändert und hast mit der 1 die erste Stelle:

Um an die nächste Stelle zu kommen ziehst du 1 ab und dann wieder mit 2 multiplizieren:
0,2*2=0,4 =>2. Stelle=0, jetzt nichts abziehen, da Vorkommastelle=0:
0,4*2=0,8 =>3. Stelle=0
0,4*2=1,6 =>4. Stelle=1 und nochmal 1 abziehen:
0,6*2=1,2 => 5. Stelle=1
somit ergibt sich:

Da es zwei normalisierte Formen gibt, wäre die andere:
(für 1/b<m<1)

Für dez. nach hexadezimal solange mit 16 malnehmen bzw. teilen bis Vorkommazahl sich zwischen 1 und 16 befindet. Beispiel:
223,45 (dez) nach hexadez.
223,45:16=13,965625 =>1.Stelle D(=13)
Weil einmal geteilt, Exponenten auf 1 setzen. Jetzt Vorkommazahl abziehen und mit 16 malnehnen:
0,965625*16=15,45=>2.Stelle F (=15) Wieder abziehen:
0,45*16=7,2=>3.Stelle 7
0,2*16=3,2=>4. Stelle 3
0,2*16=3,2=>5. Stelle 3 (ab hier periodisch)

Zitat:
Sei im Dualsystem.

Nun nach dez umzurechnen geht durch Verschieben nach links und Vermindern des Exponenten. Die 1.Vorkommastelle mit der entspr. Basispotenz malnehmen und aufaddieren.
1.00111101*2^6 =1*64+0*32+0*16+1*8+1*4+1*2+1*1+0*0.5+1*0.25
=79,25(dez)
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »