Überlauf (carry) < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 11:23 So 02.07.2006 | Autor: | Nucleus |
Moin alle zusammen,
Meine Problemstellung ist, beim Einlesen von Zahlen den Überlauf zu prüfen.
(Umwandeln von Text "1234" nach Binärformat 1234 bzw. 4D2h)
Es steht KEIN Überlaufflag (Carry) zur Verfügung.
Meine Vermutung ist, das es dazu ausreicht zu Prüfen ob der neue Wert der Summe (v) grösser oder gleich dem letzten Wert (lv, start=0) ist.
Tritt bei der Aufsummierung der einzelnen Digits (z.B. 0-9 bei Basis 10)
v = (lv * 10) + digit
ein Überlauf auf (v würde dann theoretisch >= [mm] 2^k), [/mm] so vermute ich, ist
v % [mm] 2^k [/mm] immer < lv. (% = modulo)
/MATHE EIN
Zu zeigen oder zu widerlegen ist folgendes:
Ist k eine positive Ganzzahl >= 8
Ist bas eine positive Ganzzahl im Bereich von 2 bis 16
Ist lv eine positive Ganzahl < [mm] 2^k
[/mm]
Ist n eine positive Ganzahl im Bereich von 0 bis bas-1
Ist v = (lv * bas) + n
Dann gilt immer:
Wenn v >= [mm] 2^k [/mm] : v % [mm] 2^k [/mm] < lv
sonst (v < [mm] 2^k): v [/mm] % [mm] 2^k [/mm] >= lv
(% = modulo)
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
02.07.06
Gruss
Nucleus
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:20 Mi 02.08.2006 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|