[Playlisten] [Impressum und Datenschutzerklärung]

05D.3 Überlauf beim Rechnen mit int-Zahlen


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

derÄrger ist bei Dinger Rechnung mit ganzen Zahlen das Ziel stillschweigendüberläuftwenn sie zum Beispiel bei dem beide mit Vorzeichenauf die hundert sieben zwanzig noch eins drauf addierensag mir seit achtundzwanzigaus ziemlichen Unsinn das passiert einfach sound erfahrenes nicht es gibt andere Sprachen in die Mannesgefährtinsicher zum Beispiel gar sich bescheid sagen lassen aber das ist natürlich zeitaufwendigdiese Abfrageist es viel schneller wenn man einfach ohne solche Sicherheitsmaßnahmenrechnet unter anderen Ärgersie müssen Überlauf denkenihr eigenes JobNCmüssen gucken ob irgendwelche Variablen überlaufen könnenund plötzlich absurde Ergebnisse deshalb habendieses Beispiel jetztB soll das dreifache von A sein plus vier in teils mit Vorzeichen?? zwei Kombi mit fertigen Zweifelsfallin den Ruin steht nicht an Zeit inWeser das dreifache von A Sanctus vierwas ist der letzte Wert von A für den das noch vernünftig funktioniert ab welchen Wert von Aliefert die Rechnung hier untenUnsinnwegen Überlaufund dieser Maschinist eben in sechzehn Bitsechzehn bittet Vorzeichen wie groß darf aber maximal werden damit kein Unsinn passiertwelche Teil ein A eins größer ist als es was gerade passiert was kommt dann raus aus Büber die wenn sie sich ausprobierensondern wirklich nachdenken damit sie Gefühl dafür kriegen was da passiert muss nachher?? Programm liest an solchen Stellen sofortden Warnhinweis im Kopf haben Vorsicht Vorsicht Überlaufoder nichtdeshalb wenn sie einmal selber nachnicht sofort mit dem Rechner arbeitenvon einem diversen Handgelenk an Anun um die zehn tausend wenn Arm mehr wird als etwa zehn tausenddann wird es kritisch also da sollte man mit anfangen wenn klar ist das A irgendwas handliches ist hunderttausenddann sollte man sofort sagen können okay keine Probleme undNa ungefähr zehn tausend bis dreißig tausend plus vierdann wird es allmählich heikel bestimmt immer den genauen Wertso unerreicht dassdie B ist eine sechzehn Bitzahlmit Vorzeichendas höchste war sechzehn bittet Vorzeichen kannsich jetzt aber normalistvorne eine null und dann fünfzehnEinsendas ist die größte Zahlsechzehn Bit ?? Und-Zeichendie möglicheRechte mit Zweierkomplementwenn sie eins dazu zählen zu dieser Zahlkriegen Sie einsmit fünfzehn Nullenein Grinsen eins mit fünfzehn null eins ?? fünfzehn null eins zwei vier ?? soll sagen zwei ?? null zwei eins zwei zweizwei hoch drei?? auch siebenacht neun zehn elf zwölf dreizehn Dezibel sind das Erfordernis zwei hundert fünfzehnzwar fünfzehn minus einsist die größtmöglicheZahlindiesem Spielzwei hundert fünfzehnund dann eins abziehen das ist die größtmögliche Zahl Diva haben könnenso zum Programmwandte ich ein Überlaufwenn dreimalA?? sein Beistrich gerade keinen überlaufendreimal A vier klein S als diese Zahlan Tatsachen also vier abziehenso groß wenn ich hierfür abziehen so groß darf drei A werdenwill sagen wie groß darf aber werden nicht Teile durch dreiso groß sollte aber werden dürfenzehn neun zwei eins das Zimmer vor sich ausprobierenwar gleichzehn neun zwei eins ob das noch geht?? dafür sorgen dass ich nicht sofort den nächsten Teil der Aufgabebeantworte?? vier ein zweiterokay zwei Dreißig sieben sechs siebenso weit so gutoffensichtlichwenn ich einen Schritt weitergehen mit A wird Unsinn passieren müssen nächste Aufgabe ein Sisi rechnen aus was denn tatsächlich jetzt in Unsinn rauskommtkönnen jetzt einfach hiereine zehn tausend hundert zwei zwanzig eintragen aber versuchen sie tatsächlich mal nachzuvollziehenwarum der Unsinn raus kommt der daraus kommt welche Zahl kommt raus wenn sie zehn tausend neun zwei zweirechnenwie kommt natürlich der Weg zur Rettung der deutschen Sprachesoweitzehn tausendneun hundert einundzwanzigdie exakt mit dem Ergebnis B an der obersten kann von dem es möglich ist zwar fünfzehn minus einsS gehe ich mit A einen Schritt weiterweder sie drin dreimal A plus vier B geht drei Schritte Weiternaum eins größer wird B um drei größeralso wenn ich das auf Malerdas ist der mögliche Bereich von Nintendo neuntensnullwaren mir aber minus zwei hoch fünfzehnteJanuar zwei ?? fünfzehn minus einsdas Ergebnis eben war hier?? ich gehe einen Schritt weiterdas ist das hier erstens danke ich noch einen Schritt weiter zweitens und noch ein Schritt weiter drittens das heißtich kriege raus minus zwei auf fünfzehnund dann zwei Schritte nach oben dass wir das Ergebnis sein minus zwei hundert fünfzehnplus zweidas höchste rauskommenguckenüberraschendder hierBEminus zwei Dreißig sieben sechs sechsund gesagt zweiprofünfzehn?? plus minusminus sounter zwei rauf plus zwei?? zwei Dreißig sieben sechs sechseine Art die man sich das überlegen kanner ?? andere Art wie man sich das überlegen Komma guckt sich das Ergebnisin binär ankönne hier sagenzeig mir den mal Binärziffernzwei C nicht direkt Binärzahlen eingeben hexadezimalund Octavia dezimal aberder Windows Umgebung zeichnet das Ding immerhin binäralso vorne nach einsund auf der vorletzten Stelle auch nach einsist Komma sich überlegen was denn das in Zweierkomplementbedeutetdiese Zahl wirdalso ganz vorne nach eins auf der vorletzten Stelle nach eins bleiben dreizehn Stellen über also null null nulldrei ?? zehnnulleins zwei drei vier fünf sechs sieben acht neun zehn?? das ist die Zahl der drin steht die Wette einfach brutal wie mir ausgerechnetpositiv negativ ist in den Regalenliegen Zweierkomplementund überlegen was denn das jetzt ist es auf jeden Fall eine negative Zahl mit der Einzel ganz vorn ist es eine negative Zahlwenn sie von der Zahldas Zweierkomplementbilden müssen sie was es mal positiv gewesen istZweierkomplementheißtalle Bits kippen will sagen ?? null eins eins eins eins eins einseins eins eins eins eins eins ab jetzt genugein zwei drei viereins ??zehn sowas die beiden kippen null eins und eins dazu zählendass wir das weiter kommt mit Version ?? klarmachen was sie und besteht so das darüber steht ist das ZweierkomplementEinfluss einsmachtnull eins im Sinnihr steht pe einsunter ansonsten ?? das einzelne vorne eins und so weiter einswie groß ist die Zahlzwar fünfzehn minus zwei Jahrenähm das kostet doch etwas Übung das Erkennen wahrscheinlich zwar fünfzehn minus zweiwenn Sie diese Zahl hinnehmen einslauter Nullendas ist zwar fünfzehneins und lauter Nullen ?? zweiundfünfzigsternatürlich die nur nicht ganz so weit so da die nullmit sich eins von der Zahl abdann steht dann nullund lauter Einsendas ist zwar fünfzehn minus eins wenn sie von zwar fünfzehn minus eins noch eins abziehenalso zwei abziehenhier hinten eins nullsie genau umgekehrt rechnen was passiert wenn sie zu dieser Zeit zwei addierenkriegen sie nullnull eins im Sinn null einzusehen und Anzünden von Städten einszu geht auch zwar fünfzehn minus zwei ?? eben gerade auch gerechnetverschiedene Wege zum Ergebnis zu kommen?? das allerwichtigste ist das man innerhalb der man Rechnungensieht NC uns auch in praktisch allen anderen Sprachen man solche Rechnungen siedelten sich immer klarerVorsicht das ist nicht die reine Mathematikes kann Blödsinn rauskommen wenn A zu groß istkommt für B Blödsinn raus und das auch sofort zum Bauchgefühlhatzehn tausendist auf sechzehn Bit Rechner an dieser Stelle für eine kritische Wert