Frage von Sierone 11.01.2011

Informatik; echte Dualzahl/unechte Dualzahl/ unecht gepackte Dezimalzahl zB mit der Zahl 31

  • Antwort von derMopo 11.01.2011

    a) Echte Dualzahl: 0001 1111

    b) Unechte Dualzahl: 1111 0011 1111 0001

    (alternativ 0000 0011 0000 0001)

    c) gepackte unechte Dualzahl: 0000 0011 0001 1100


    Begründung:

    zu a) der "übliche" Fall, die zu speichernde Zahl wird innerhalb eines Bytes durch ihre 2er-Potenzenkomplemente dargestellt. Dabei wird üblicherweise von rechts nach links geschrieben. Das erste Bit gibt den Wert 2^0, das zweite Bit den Wert 2^1 (...), das achte Bit den Wert 2^7. 31 ist demnach 0001 1111, weil 31 = 2^4 + 2^3 + 2^2 + 2^1 + 2^0.

    zu b) Hier wird ganz einfach jede Dezimalstelle des zu speichernden Werts durch einen binären, vier Bit langen Wert dargestellt, die "übrigen" vier Bits werden durch 1 oder 0 aufgefüllt. Im Beispiel ist 31 = 1111 0011 1111 0001, weil 3 binär 0011 und 1 binär 0001 entspricht.

    zu c) Ähnlich b), jedoch wird das "Auffüllen" unterlassen, in ein Byte werden zwei Dezimalstellen (getrennt) durch je vier Bit codiert, darüber hinaus gibt der Wert der "letzten" vier Bits das Vorzeichen an, welcher im Beispiel (BCD Codierung) vorgegeben ist: 1100 = +, 1101 = -

    (angelehnt an Begriffe aus dem kaufmännischen Ursprung dieser Codierung: in hexadezimaler Darstellung entspricht 1100 "C", dies wird als "Credit", also Guthaben, damit positiv interpretiert, während 1101 "D" entspricht, welches als "Debt", als Schuld und damit als negatives Vorzeichen ausgelegt wird.

    Im Beispiel wurde überdies auf eine Länge von 2 Bytes durch vier führende Nullen aufgefüllt.)

  • Antwort von Fujit 11.01.2011

    Rita sagt nnnneeeiiinnnnnnn

Du kennst die Antwort? Frage beantworten
Bitte noch eine Antwort ... Frage erneut stellen

Verwandte Fragen


Verwandte Tipps

Fragen Sie die Community –

anonym und kostenlos!