@@MudGuard
(an einem der Enden um 1 weniger, kann mir nie merken, an welchem)
Protip: Versuche gar nicht erst dir zu merken, was du dir einfach herleiten kannst.
Bei signed integer ist das höchtswertige Bit das Vorzeichen.
Nehmen wir der Einfachheit halber mal 8 Bit (mit großen Zahlen wird das nicht besser):
00000000 ist 0
00000001 ist 1
00000010 ist 2
⋮
Höchstwertiges Bit 0 haben also 0 und die positiven Zahlen – bis
01111111 = 2⁷ − 1 = 127
10000000 ist eine negative Zahl: −2⁷ = −128
10000001 ist −127
⋮
11111111 ist −1
Der Bereich für signed integer geht bei 8 Bit demnach von −128 bis 127.
Oder anders:
Höchstwertiges Bit 0 haben 0 und die positiven Zahlen.
Höchstwertiges Bit 1 haben die negativen Zahlen.
Da es genausoviele Bitfolgen mit höchstwertigem Bit 0 wie Bitfolgen mit höchstwertigem Bit 1 gibt, gibt es im darstellbaren Bereich wegen der 0 eine positive Zahl weniger als es negative Zahlen gibt.
LLAP 🖖
“When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory