Mir ist zwar im Grunde klar, wie man auf diese Werte kommt (eben da short ein 16 bit-Datentyp ist). Aber bisher habe ich gelernt, dass man im Binärsystem, wenn es (hier:) max. 16 bit gibt als größte Zahl (1111111111111111) = 65535 hat. Wäre dann der Wertebereich nicht eigentlich: -65535 bis 65535 ?
Bestimmt habe ich einen Denkfehler, da dieser Wertebereich bei allen Quellen so angebene ist, aber dies zu vertehsen wäre echt cool :D
Der Wertebereich von short ist 16 Bits groß, das heißt, wir haben \(2^{16}=65536\) mögliche Werte. Der Zahlenbereich geht daher von -32768 bis +32767. Die Null braucht auch einen Platz ;)
Wäre dann der Wertebereich nicht eigentlich: -65535 bis 65535
Das sind 131071 unterschiedliche Zahlen. Um diese unterschiedlich darszustellen, braucht man mindestens log2(131071) ≈ 17 bit.
Ein anderes Problem?
Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos