Frage von JustVicky, 80

Wer kann mir diesen Mathematiker -Witz erklären?

Zu sehen sind 4 Bilder auf denen ein Mann Schafe zählt um einzuschlafen. Zuerst zählt er normal "1...2..." dann zählt er "1,306...1,307..." dann ist er bei "32,767... -32,768..." und zu guter letzt " -32,767...-32,766"

Expertenantwort
von Willibergi, Community-Experte für Mathematik, 20

Es geht dabei nicht um Mathematik, sondern mehr um Informatik.

Ein Computer kann grundsätzlich nicht mit unendlich großen Zahlen rechnen. Er muss sie schließlich irgendwo abspeichern und da ist irgendwann Schluss.

Es gibt mehrere Zahlen-Datentypen, die alle einen verschiedenen Wertebereich haben.

Eine (vorzeichenbehaftete) 8-Bit-Ganzzahl hat beispielsweise einen Wertebereich von -2⁷ bis 2⁷ - 1.

Eine vorzeichenbehaftete 16-Bit-Ganzzahl hat einen Wertebereich von

-2¹⁵ = -32.768 bis 2¹⁵ - 1 = 32.767

Wenn eine 16-Bit-Ganzzahl den maximalen Wert 32.767 hat und dann darauf 1 dazuaddiert wird, kommt es zu einem arithmetischen Überlauf.

(32.767)₁₀ = (0111 1111 1111 1111)₂

Wenn nun auf diese Zahl 1 addiert wird, wird das 16. Bit (das das Vorzeichen darstellt) erhöht und die 15 anderen Bits sind wieder 0.

Also:

(32.768)₁₀ = (1000 ...)₂ = (-32.768)₁₀

Zu beachten ist hierbei, dass mit dem Zweierkomplement gerechnet wird.

0₂ wäre dezimal natürlich auch 0₁₀, aber der Computer speichert Zahlen eben streng genommen nicht binär, sondern eben im Zweierkomplement.

Daher läuft der Zähler des Schäfchenzählers über und ist wieder -32.768. ^^

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach. 

LG Willibergi 

Expertenantwort
von Suboptimierer, Community-Experte für Mathematik, 22

Sieht mir danach aus, als wäre das ein Informatikerwitz. 32.768 ist 2^16. Es scheint mir, als ob der Informatiker die in einem bestimmten Datentyp darstellbaren Zahlen abzählt.

Expertenantwort
von Rhenane, Community-Experte für Mathematik, 24

Ist wohl eher ein Informatiker-Witz. Es gibt für verschiedene Zahlenbereiche verschiedene Datentypen.

z. B. gibt es den Datentyp Integer (so kenne ich ihn damals von Pascal), der umfasst den Zahlenbereich der ganzen Zahlen von -32.768 bis 32.767 (d. h. von -2^15 bis 2^15-1).

Kommt man über die 32.767 hinaus, geht die Rechnung quasi bei -32.768 weiter...

also z. B. 32.767+1=-32.768

Antwort
von Gastnr007, 35

Das ist ein Informatikerwitz: die Zahlen auf dem Computer mit Vorzeichen und 16Bit (leicht veraltet) haben einen maximalen Wert: 32767, oder binär 0111 1111 1111 1111. Die nächste Zahl 1000 0000 0000 0000 steht allerdings für die Kleinste, da das erste Bit das Vorzeichen angibt.

Antwort
von ceevee, 13

Das ist eher ein Informatiker-Witz. In Java z.B. kannst du in einer short-Variablen Ganzzahlen von -32768 ... 32767 abspeichern. Eine short-Variable hat 16 Bit, du kannst also 2^16 = 65536 Werte, das ganze positiv und negativ, daher ergibt sich der Wertebereich

https://de.wikibooks.org/wiki/Java_Standard:_Primitive_Datentypen#Was_sind_Primi...

Wenn du nun mit einer Short-Variablen 32767 + 1 rechnest, dann erhälst du als Ergebnis -32768. Denn der korrekte Wert 32768 passt nicht mehr in die Short-Variable, also geht's von vorne los. Das ganze nennt sich "arithmetischer Überlauf"

https://de.wikipedia.org/wiki/Arithmetischer_%C3%9Cberlauf

Der Witz ist aber meiner Meinung nach eher überschaubar lustig... ;)

Antwort
von tooob93, 23

Das ist ein Informatik witz kein Mathe witz.

es geht hier um den Wert von Integer (ganze zahlen, gehen von -32768 bis + 32767

Kommentar von JustVicky ,

Mein Berufsschullehrer hat uns diesen Witz im Matheunterricht gezeigt, und keiner hat es verstanden, daher ging ich davon aus aus, dass es ein Mathematiker Witz ist. Danke für deine richtigstellung und danke für deine Antwort, jetzt hab ich es endlic mal begriffen :D

Kommentar von tooob93 ,

Ahhh ok :D

Ja, passt, mein Mathelehrer war auch Informatiklehrer xD

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten