Diskussion:AVR Arithmetik
Division 32 Bit durch 32 Bit
Ich habe den Algorithmus mal mit ein paar Zahlen getestet und festgestellt, dass dieser nicht unbedingt korrekt rechnet.
Bei einer Division sind ja verschiedene Fälle zu beachten: a: 1. Zahl größer als 2. Zahl -> scheint der einzige Fall zu sein in welchem der Algorithmus funktioniert.
b: 1. Zahl ist 0 -> Rest ist 2. Zahl -> mit 1. Zahl=0x00000000 und 2. Zahl=0xFFFFFFFF müsste das Ergebnis folglich 0x00000000 und Rest 0xFFFFFFFF lauten, es lautet aber 0x7FFFFFFF mit Rest 0x00000000.
-> mit 1. Zahl=0x00000001 und 2.=Zahl 0xFFFFFFFF müsste das Ergebnis folglich 0x00000000 und Rest 0xFFFFFFFF lauten, es lautet aber 0x80000000 mit Rest 0x00000000.
c: 1. Zahl ungleich 0, zweite Zahl gleich 0 (-> Division durch 0, wird nicht abgefangen!)
d: 1. Zahl gleich 2. Zahl -> mit 1. Zahl=0xFFFFFFFF und 2. Zahl=0xFFFFFFFF müsste das Ergebnis folglich 0x00000001 und Rest 0x00000000 lauten, es lautet aber 0x00000000 mit Rest 0x7FFFFFFE.
--EXS 07:22, 05. Dez. 2012 (CEST)
- Es gibt da mindestens 3 Algorithmen, die für sich beanspruchen, einer 32-Bit Division durchzuführen. Welcher davon ist nicht korrekt? --Gjlayde 07:26, 5. Dez. 2012 (UTC)