Binary



  • Kurzes Problem zum Thema Binärzahlen...
    Wenn ich beim "Programmieren" auf das Problem stoße: Welchen Zahlenbereich umfasst eine 5 bit Variable
    unsigned
    signed
    ...
    Wie gehe ich dann vor?
    Ich hab 2 Lösungswege vorzuschlagen:

    1.)
    unsigned: 2hoch5 = 32 => also von 0 bis 32
    signed: 2hoch4 = 16 => also von -16 bis +16

    2.)
    die größt mögliche Darstellung mit 5 bit wäre: 11111
    was der Zahl 31 entspricht...
    signed natürlich eine Stelle weniger: 1111
    was der Zahl 15 entspricht. also -15 bis +15

    persönlich würde ich zu 2.) tendieren, klingt einfach logisch.
    aber bei ner integer bestimmt ich den Zahlenbereich wie in 1.) (2hoch15 bei signed integer)

    Danke schonmal



  • Der größte darstellbare Wert ist 11111 bzw. 01111 (bei signed ist das erste Bit für das Vorzeichen reserviert), der kleinste Wert ist 00000 bzw. 10000 - in Dezimal umgerechnet ergibt sich 0..31 bzw. -16..15 (Zweier-Komplement).



  • klingt gut, bis auf -16 bis 15...
    warum ned -15?



  • Xands schrieb:

    klingt gut, bis auf -16 bis 15...
    warum ned -15?

    Warum sollte man einen Wert unterschlagen?

    -1 bis -16 => 16 Werte
    0 bis 15 => 16 Werte

    Du musst einfach daran denken das in der Darstellung der positiven Zahlen die 0 mitzählt, bei den Negativen nicht...

    cu André



  • Weil die 0 beim Zweierkomplement nur einmal vorkommt, und man dadurch eine negative Zahl mehr hat (als die Positiven).
    Beispiel:
    10000 (-16) <-> 01111 (15)
    10001 (-15) <-> 01110 (14)
    ...
    11110 (-2) <-> 00001 (1)
    11111 (-1) <-> 00000 (0)



  • kk
    extrem geil!!! 🙂 🙂
    Muss echt n Kompliment loswerden!!! Habt ihr gut verständlich erklärt!

    😃

    Note 1+ *g*

    Danke!!!!!!!!!


Anmelden zum Antworten