Hallo,
kann man hier auch Fragen über Technische Informatik stellen?
Ich frage nur weil das nicht per se mit Webdesign und Programmierung zu tun hat.
Hallo,
kann man hier auch Fragen über Technische Informatik stellen?
Ich frage nur weil das nicht per se mit Webdesign und Programmierung zu tun hat.
[Bild: LFR0pGarlicPlueschi.gif][Bild: Zwiebelboing.gif][Bild: cmeegA6ogPywRJ2FhcubeBlack.gif][Bild: phziYg4qMaS4t4NqnVm6Garlicjumpslow.gif][Bild: GarlicPlushieSoldiercovered.png][Bild: GarlicPlushieCOOLcovered.png][Bild: Garlicpirat.gif][Bild: Zwiebelugly.png][Bild: PdnrPvTmGarlicPlueschi_weihnacht.gif][Bild: ochygarlicplushiel_preussen.gif]
Stell einfach eine Frage, dann wird sich zeigen ob dir jemand damit helfen kann.
Wir müssen folgende Terme ausrechnen.
(9,25)10 - (1001,001)2 + (C3,09)16 - (26,65)8
Die Zahlen außerhalb der Klammer geben das Zahlensystem an. Dezimal, Dual, Hexadezimal und Oktal.
Ich dachte mir ich wandel alles ins Dualsystem.
Und verrechne es. Bin mir allerdings nicht ganz sicher wie genau das Verrechnen verläuft.
z.B. die ersten zwei Zahlen.
1001,01
- 1001,001
_________
0000,001
Ist das richtig? Ich habe keine Ahnung.
Anschließend müssen wir das Ergebnis so darstellen.
1 Bit Vorzeichen, 9 Bit Absolutbetrag
Mantisse, 6 Bit Exponent im Zweierkomplement, Basis 16, normalisiert.
Aber das kann ich eigentlich. Das Ergebnis muss nur richtig sein.
[Bild: LFR0pGarlicPlueschi.gif][Bild: Zwiebelboing.gif][Bild: cmeegA6ogPywRJ2FhcubeBlack.gif][Bild: phziYg4qMaS4t4NqnVm6Garlicjumpslow.gif][Bild: GarlicPlushieSoldiercovered.png][Bild: GarlicPlushieCOOLcovered.png][Bild: Garlicpirat.gif][Bild: Zwiebelugly.png][Bild: PdnrPvTmGarlicPlueschi_weihnacht.gif][Bild: ochygarlicplushiel_preussen.gif]
Ich persönlich würde ja eher alles ins Dezimal-System umrechnen, dort verrechnen und dann ins Ziel-Format konvertieren. Dann brauch ich mir nicht so einen Knoten ins Hirn machen...
Aber, ja, deine Rechnung ist richtig so weit
Edith meint, das gilt nur, wenn die zweite Zahl ein unsigned Wert ist. Andernfalls muss gegebenenfalls noch das Zweierkomplement berücksichtigt werden.
Ich hätte (habe) es auch in Dezimal umgerechnet und dort addiert. Da musst du bei der Umrechnung aber aufpassen das du entweder einen Taschenrechner mit vielen Nachkommastellen nimmst oder das ganze in Brüche rechnest. Wenn der Taschenrechner da auch nur ein wenig rundet wirst du mit dem Ergebnis nicht mehr froh.
Wäre also diese Rechnung richtig?
In der Vorlesung hatten wir das Beispiel mit Dual-System umgeformt, deshalb wollte ich es auch so machen.
(9,25)10 -(1001,001)2 + (C3,09)16 -(26,65)8
1001,01 - 1001,001 + 11000011,00001001 - 010110,110101
= 10101100,01010101
(0,1010110001010101)2 * 16² (Klammern verschieben)
Vz | Mantis | Exponent
0 | 1010110001010101 | 000010
[Bild: LFR0pGarlicPlueschi.gif][Bild: Zwiebelboing.gif][Bild: cmeegA6ogPywRJ2FhcubeBlack.gif][Bild: phziYg4qMaS4t4NqnVm6Garlicjumpslow.gif][Bild: GarlicPlushieSoldiercovered.png][Bild: GarlicPlushieCOOLcovered.png][Bild: Garlicpirat.gif][Bild: Zwiebelugly.png][Bild: PdnrPvTmGarlicPlueschi_weihnacht.gif][Bild: ochygarlicplushiel_preussen.gif]
Was das Letzte angeht bin ich mir nicht sicher, ist zu lange her dass ich das gemacht hab, aber zumindest bei der Summe komme ich auch auf 10101100,01010101, das sollte korrekt sein.
[Bild: LFR0pGarlicPlueschi.gif][Bild: Zwiebelboing.gif][Bild: cmeegA6ogPywRJ2FhcubeBlack.gif][Bild: phziYg4qMaS4t4NqnVm6Garlicjumpslow.gif][Bild: GarlicPlushieSoldiercovered.png][Bild: GarlicPlushieCOOLcovered.png][Bild: Garlicpirat.gif][Bild: Zwiebelugly.png][Bild: PdnrPvTmGarlicPlueschi_weihnacht.gif][Bild: ochygarlicplushiel_preussen.gif]
Tipp: Du mögest für dich einige einfache Fragen beantworten (dann solltest du es haben):
- Wozu normalisiert man (macht man doch nicht aus Langeweile)?
- Wie lautet die Mantisse nach dem Normalisieren? Gleichzeitig: Was musst du dir merken?
- Was passiert mit den Bits, welche nicht in die Mantisse hineinpassen?
- Wie muss der Exponent lauten, damit die Zahl nicht verfälscht wird (siehe, was du dir gemerkt hast)?
Mal den Mist hier gelöscht. Vermutlich ist die Basis 16 so gemeint (kenne sonst nur Basis 2):
Könnte sich also tatsächlich um die Basis des Exponenten handeln. Argh, darauf muss man erst mal kommen, denn so eine FPU mit Basis 16 beim Exponenten hat klare Nachteile (welche?)...
Natürlich sieht dann das Normalisieren etwas anders aus, aber es ändert sich nichts an der Sinnhaftigkeit der Fragen!
(Mir ist klar, dass man damit einiges technisch vereinfachen oder beschleunigen könnte und auch wie und was, aber trotzdem behagt mir der Gedanke nicht. Vielleicht soll die Aufgabe gerade dieses lehren?
Tipp: Da geht doch einmal mehr und ein anderes Mal weniger verloren, und dann rechnet man damit weiter, grrr...)
Vorschlag: Ich würde das erst mal mit der Basis 2 machen, um es zu lernen, bis es sitzt, und dann erst mit der Basis 16.
Hatte bei mir 'ne Zeit gedauert, bis der Groschen gefallen ist, welche Basis die gemeint haben können. Multipliziert man mit 162, so ist das eine Linksverschiebung um 8 Stellen (oder 2x4), kommt also hin, was er gemacht hat, wenn die Aufgabe so gemeint ist, wobei natürlich noch die Bits, die nicht hineinpassen, wegfallen müssen. Das neunte Bit hintendran stört nicht, weil das beim Linksverschieben um acht Stellen hinter dem Komma ist. Der Exponent 10 ist ja kein Hex-Wert, sondern selbst zur Basis 2, weshalb der Exponent schon stimmt, also 16 * 16, denn 01 wäre nicht 1*160, sondern stünde für 161, weil es eben bloß der Exponent ist. Ganz schön verwirrend das (und heute definitiv nicht mein Tag und gut möglich, dass ich noch was übersehe *todmüde*).
Dann ist es aber eine blöde Aufgabe, weil sie nicht den weiteren Verlust an Stellen lehrt, welcher bei einer Basis > 2 auftreten kann. Damit wäre die Aufgabe unter Verdacht, heruntergedummt zu sein, denn mit nicht ausgerechnet 4, 8, 12, 16 ... Stellen (n Nibbles) vor dem Komma wäre sie dem allgemeinen Fall näher (mit 7 Stellen ergäbe sich eine führende 0, mit 6 zwei, mit 5 drei, was bei der Basis 2 nicht möglich wäre. Vier führende Nullen gibt es nicht, weil stattdessen der Exponent um 1 vermindert wäre)...
Gut, ich könnte mich immer noch irren, wie Basis 16 funktioniert (schon exotisch für mich). Ob sonst richtig gerechnet wurde, habe ich nicht geprüft.