Umrechnung von Zahlensystemen < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 01:17 Fr 11.02.2011 | Autor: | m4rio |
Hallo,
habe hier im skript gerade eine umformung von einer Zahl im Okalsystem [mm] (\1134_{8}) [/mm] zum Hexadeziamlsystem gefunden...
Zunächst wird die Zahl ins Dezimalsystem umgerechnet und anschließend durch division mit der zahl 16 ins Hexadezimalsystem...
wieso kann ihc nciht gleich vom Okatsystem ins Hexadezimalsystem??? muss man immer zunächst ins nächst größere system umformen?
|
|
|
|
Hallo Mario,
> habe hier im skript gerade eine umformung von einer Zahl im
> Okalsystem [mm](\1134_{8})[/mm] zum Hexadeziamlsystem gefunden...
>
> Zunächst wird die Zahl ins Dezimalsystem umgerechnet und
> anschließend durch division mit der zahl 16 ins
> Hexadezimalsystem...
Hmpf.
> wieso kann ihc nciht gleich vom Okatsystem ins
> Hexadezimalsystem??? muss man immer zunächst ins nächst
> größere system umformen?
Nein, das muss man nicht. Es bietet sich hier noch nicht einmal an, da ja das Oktal- und das Hexidezimalsystem eng verwandt sind.
Oft ist es dennoch einfacher, so vorzugehen, schlicht deswegen, weil wir mit dem Dezimalsystem so gut vertraut sind. Es ist ein bisschen wie mit der Umrechnung zweier Währungen in eine dritte, die als Leitwährung bekannt ist, z.B. Euro, Renminbi, Dollar, Rubel ...
Auch da ist das ja eigentlich nicht nötig, sondern man könnte (volle Konvertibilität vorausgesetzt) ja auch direkt rechnen.
Der Arbeitsaufwand wird bei einer direkten Umrechnung natürlich niedriger sein, der Vorgang aber u.U. stärker fehleranfällig.
Grüße
reverend
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 02:40 Fr 11.02.2011 | Autor: | m4rio |
hmmmm, ok, verstehe..
nun habe ich gesehen, dass man zB vom dezimasystem ins Binärsystem via dividision gelangt.
vom oktalsystem ins dezimalsystem durch, keine ahnung wie es heisst aber es geht laut skript so :
[mm] \1134_{8}=1*8^2+3*8^1+4*8^0=92_{10}
[/mm]
dann allerdings wieder vom dezimalsystem ins hexaldezimalsystem durch division...
wwann forme ich denn jetzt was, wie um?!?!?!
die mir bekannten formen sind
Binär - Oktal - Dezimal - Hexadezimal
wie es mir bisher schient, komme ich vom
dezimal ins dualsystem durch -- division
vom oktal ins dezimal --- diese form mit der basis exponiert & multipliziert mit entsprechender stelle der zahl (hoffe verständlich was ich meine)
vom dezimal ins Hexadezimal --- division
wann nehme ich welche variante?!?!
gibt ja noch mehr möglichkeiten, zb vom binärsystem ins oktasystem oder jeweils die umgekehrt variante ... also zB vom hexadezimal ins dezimal... oder ganz mutig ins oktal oder gleich ins binär... bin hier etwas verwirrt ?!
|
|
|
|
|
Hallo!
Du mußt diese Formel
$ [mm] 134_{8}=1\cdot{}8^2+3\cdot{}8^1+4\cdot{}8^0 [/mm] $
verinnerlichen, da sie definiert, was eine mehrstelllige Zahl genau bedeutet. Denk dran, die 8 gibt das System an (oktal) und ist die Zahl, die grade eben NICHT mit einer Stelle in diesem System angegeben werden kann. Man könnte auch schreiben:
$ [mm] 134_{8}=1\cdot{}(10_8)^2+3\cdot{}(10_8)^1+4\cdot{}(10_8)^0 [/mm] $
Auf jeden Fall ist es das einfachste, mit der o.g. Form eine zahl erst ins Dezimalsystem umzuformen, und dann mittels deiner "Division" durch die Zahl des ensprechend anderen Systems in eben dieses umzurechnen.
Eine direkte Umformung ist möglich, wenn das eine System eine Potenz des anderen ist
So ist [mm] 8=2^3, [/mm] eine oktale Ziffer kann durch 3 Bits dargestellt werden:
[mm] 7_8=111_2
[/mm]
[mm] \red{1}\green{2}\blue{3}4_8=\red{001}\green{010}\blue{011}100_2
[/mm]
denn [mm] \green{010}000000=1=2^7=2*2^6=2*(2^3)^2=\green{2}*8^2
[/mm]
Eine Dreiergruppe im Binärsystem steht also für eine Ziffer im Oktalsystem.
Genauso:
[mm] \red{F}\green{3}_{16}=\red{1111}\green{0011}
[/mm]
So könntest du die HEX-Darstellung einer Zahl auch über das Binärsystem machen:
[mm] $196_{10}=128_{10}+64_{10}= [/mm] 1100\ [mm] 0100_{2}=C4_{16}$
[/mm]
|
|
|
|
|
Hallo m4rio,
eine kleine Ergänzung, Event_HorizonsAntwort aufgreifend:
Noch schneller als den Umweg über das Dezimalsystem zu nehmen, ist es, über das Dualsystem zu gehen.
Denn sowohl die 8 im Oktalsystem als auch die 16 im Hexadezimalsystem sind Potenzen von 2, [mm]2^3[/mm] und [mm]2^4[/mm]
Da kannst du wie beschrieben Blöcke in der Größe der Potenz bilden:
Du hast [mm](134)_8[/mm]
Jede der Ziffern entspricht im Dualsystem ein Dreierblock ([mm]2^3=8[/mm])
Also
1 | 3 | 4
001|011|100
Die einzelnen Binärwerte kannst du ja so aus dem Lameng hinschreiben.
Damit [mm](134)_8=(001011100)_2[/mm]
Die führenden Nullen kannst du natürlich auch weglassen.
Nun musst du das noch ins Hexadezimalsystem umwandeln [mm](2^4=16[/mm])
Also 4er Blöcke (von rechts beginnend - wir brauchen 2 Blöcke, um die gesamte Binärzahl 01011100 "abzudecken")
0101|1100
5 | 12
Also insgesamt wegen [mm]12\hat= C[/mm]:
[mm](134)_8=(5C)_{16}[/mm]
Gruß
schachuzipus
|
|
|
|