Warum ist der Bereich der bytes von -128 bis 127 in Java?

Ich verstehe nicht, warum der niedrigste Wert, den ein byte kann, ist -128. Ich kann sehen, dass der höchste Wert ist 127, weil es 01111111 im binary, aber wie kann man die darstellen -128 mit nur 8 bits verwendet wird, für das Zeichen? Positiv 128, wäre schon ein 8-bit, d.h. 10000000, und dann brauchst du ein 9. bit zu repräsentieren, das negative Vorzeichen.

Könnte mir bitte jemand erklären mir das an.

Zweierkomplement
Es ist ähnlich wie bei den anderen integer-Typen short, int und long.
Eine bessere Frage ist why java byte type is not a range of 0..255? In der Tat viele Fragen, diese Frage, in den meisten Sprachen byte Typ ohne Vorzeichen ist, aber in java byte ist unterzeichnet zu, und ich (und viele andere) glauben, dass es war eine schlechte design, das blieb in Java vom ersten Tag an. Gibt es Probleme, wenn Sie arbeiten, JNI, und glauben Sie mir, wenn Sie etwas nennen byte Sie wollen 0..255!

InformationsquelleAutor Bad Request | 2010-09-01

Schreibe einen Kommentar