Zum Inhalt springen

Fisinym

Mitglieder
  • Gesamte Inhalte

    6
  • Benutzer seit

  • Letzter Besuch

Reputationsaktivitäten

  1. Like
    Fisinym reagierte auf 0x00 in Warum ist der Wertebereich im negativen 1 höher?   
    Naja 2^8 = 256, 127 (Summe aller positiven) + 127 (Summe aller negativen) = 254, bleiben noch zwei übrig. 0 braucht einen Platz und dann kannst du entweder bis 128 oder -128 gehen.
    Wenn du in beide Richtungen nur bis 127 gehen würdest würdest du eine Bitkombination verschenken.
  2. Like
    Fisinym reagierte auf elgorgo in Warum ist der Wertebereich im negativen 1 höher?   
    Die 00000000 = 0 braucht auch einen Platz.
    Und damit kann der positive Bereich eben einen Platz weniger belegen.
  3. Like
    Fisinym reagierte auf 0x00 in Warum ist der Wertebereich im negativen 1 höher?   
    0 = 0000 0000
    1 = 0000 0001
    127 = 0111 1111
    -128 = 1000 0000
    -127 = 1000 0001
    -126 = 1000 0010
    -125 = 1000 0011
    -1 = 1111 1111
    Der erste Bit ist nicht das Vorzeichen, dieser Stack Overflow Post erklärt es besser als ich es könnte.
  4. Like
    Fisinym reagierte auf Whiz-zarD in Warum wird dauernd die 50 ausgegeben? (Java)   
    Alles hat ein Ende. (Nur die Wurst hat zwei.)
    Ein Integer ist 32 Bits groß. Also ist der Zahlenbereich beschränkt. Nämlich von -2147483648 bis 2147483647. Das höchste Bit wird als Vorzeichen gezählt.
    Wenn du unendlich um 1 erhöhen könntest, würdest du irgendwann mehr als 32 Bits benötigen. Das passiert aber nicht. Das kann man sich halt wie eine Uhr vorstellen, die ja auch wieder von Vorne anfängt.
    Hier mal die binäre Schreibweise:
    0111 1111 1111 1111 1111 1111 1111 1111 = 2147483647 (höchster Wert) Um 1 erhöht: 1000 0000 0000 0000 0000 0000 0000 0000 = -2147483648 (niedrigster Wert) 1111 1111 1111 1111 1111 1111 1111 1111 = -1 Um 1 erhöht: 0000 0000 0000 0000 0000 0000 0000 0000 = 0  
  5. Like
    Fisinym reagierte auf Whiz-zarD in Warum wird dauernd die 50 ausgegeben? (Java)   
    Nein, eben nicht. Sonst wäre nur eine 50 zu sehen.
    Wenn man auf die maximale Zahl eine 1 addiert, erhält man die minimalste Zahl und umgekehrt
    public static void main(String[] args) { int a = Integer.MAX_VALUE; System.out.println(a++); // 2147483647 System.out.println(a); // -2147483648 } Das Inkremenieren von a in Zeile 14 wird also fröhlich ausgeführt, macht einen Überlauf und kommt irgendwann bei der 50 wieder an.
    Fun Fact: Das Verhalten macht sich Minecraft zu Nutze, indem ein Timer eine Variable vom Typ long hochzählt. Ist der Wert wieder bei 0, ist ein Tag vorbei.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...