Startseite
Forum
Fragen
Suchen
Formeleditor
Über Uns
Registrieren
Login
FAQ
Suchen
Foren-Übersicht
->
Sonstiges
Antwort schreiben
Benutzername
(du bist
nicht
eingeloggt!)
Titel
Nachrichtentext
Smilies
Weitere Smilies ansehen
Schriftfarbe:
Standard
Dunkelrot
Rot
Orange
Braun
Gelb
Grün
Oliv
Cyan
Blau
Dunkelblau
Indigo
Violett
Weiß
Schwarz
Schriftgröße:
Schriftgröße
Winzig
Klein
Normal
Groß
Riesig
Tags schließen
Schreibt eure Formeln hier im Board am besten mit Latex!
So gehts:
Latex-Kurzbeschreibung
|
Formeleditor
[quote="Overflow"][b]Meine Frage:[/b] Habe ich das richtig verstanden: Wenn man (z.B. in C) einen Integer definiert. Auf einem 16-Bit System. Dann hat man einen Wertebereich von -32.768 bis 32.767. Wird ein Wert eingegeben der nicht mehr innerhalb dieses Werftenbereiches definiert ist, dann gibt den den Überlauf (Overflow) und der Datenbereich wird verlassen, sprich: Nach 32.767 kommt wieder die -32.768 und es geht von vorne los. Bei einem unsigned int auf dem selben Betriebssystem hätte man einen Wertebereich von 0 bis 65.535. Beim Verlassen des Wertebereichs entsteht ein Übertrag (Carry). Addiert man z.B. zu 65.530 die Zahl 10 hinzu, wäre der ausgegebene Wert 5. [b]Meine Ideen:[/b] Ist das soweit richtig? Wie kann man sich das technisch vorstellen? Kann das gerade nur schwer begreifen und hoffe, es überhaupt irgendwie verstanden zu haben... Was wäre dann übrigens der bekannte Stack Overflow?[/quote]
Optionen
HTML ist
aus
BBCode
ist
an
Smilies sind
an
BBCode in diesem Beitrag deaktivieren
Smilies in diesem Beitrag deaktivieren
Spamschutz
Text aus Bild eingeben
Alle Zeiten sind GMT + 1 Stunde
Gehe zu:
Forum auswählen
Themenbereiche
----------------
Mechanik
Elektrik
Quantenphysik
Astronomie
Wärmelehre
Optik
Sonstiges
FAQ
Sonstiges
----------------
Off-Topic
Ankündigungen
Thema-Überblick
Autor
Nachricht
gnt
Verfasst am: 03. Jun 2021 22:13
Titel: Re: Carry, Overflow? Technik dahinter?
Overflow hat Folgendes geschrieben:
Ist das soweit richtig?
Ja.
Overflow hat Folgendes geschrieben:
Wie kann man sich das technisch vorstellen?
Die Schaltung ist eben so aufgebaut. Wenn man "per Hand" addiert, muss man immer den Übertrag zur nächsthöheren Stelle berücksichtigen. Im Prozessor ist das nicht anders, nur hat der eben eine begrenzte Bitanzahl je Datentyp. Wenn da nichts mehr "links" daneben geschrieben werden kann, wird dieses Flag gesetzt.
Overflow hat Folgendes geschrieben:
Was wäre dann übrigens der bekannte Stack Overflow?
Hier kannst Du nachlesen:
https://de.wikipedia.org/wiki/Puffer%C3%BCberlauf
Kurz gesagt: Auf dem Stack legt die momentan ausgeführte Funktion die lokalen Variablen ab. Wenn dort zu viel hinein geschrieben wird, sei es durch einen Hackversuch, oder z.B. sehr viele rekursive Aufrufe einer Funktion, dann reicht der Speicher nicht mehr. Dann kann der danach liegende Speicher überschrieben werden.
Overflow
Verfasst am: 03. Jun 2021 21:00
Titel: Carry, Overflow? Technik dahinter?
Meine Frage:
Habe ich das richtig verstanden:
Wenn man (z.B. in C) einen Integer definiert. Auf einem 16-Bit System.
Dann hat man einen Wertebereich von -32.768 bis 32.767.
Wird ein Wert eingegeben der nicht mehr innerhalb dieses
Werftenbereiches definiert ist, dann gibt den den Überlauf (Overflow)
und der Datenbereich wird verlassen, sprich:
Nach 32.767 kommt wieder die -32.768 und es geht von vorne los.
Bei einem unsigned int auf dem selben Betriebssystem hätte man einen
Wertebereich von 0 bis 65.535.
Beim Verlassen des Wertebereichs entsteht ein Übertrag (Carry).
Addiert man z.B. zu 65.530 die Zahl 10 hinzu, wäre der ausgegebene Wert
5.
Meine Ideen:
Ist das soweit richtig?
Wie kann man sich das technisch vorstellen?
Kann das gerade nur schwer begreifen und hoffe, es überhaupt irgendwie
verstanden zu haben...
Was wäre dann übrigens der bekannte Stack Overflow?