Seite 1 von 1

[V5.00 x64 Linux] i % (1 << N) ergibt falsches Ergebnis

Verfasst: 15.11.2012 18:28
von NicTheQuick
Hallo,

ich habe gerade einen merkwürdigen Bug gefunden und würde darum bitten ihn mir unter anderen Plattformen zu bestätigen.
Hier der Code

Code: Alles auswählen

N = 1
i = 3
Debug i % (1 << N)
Als Ergebnis liefert er 0, obwohl 3 % (1 << 1) = 3 % 2 = 1 sein sollte.

Folgende Variationen des Codes ergeben den Fehler nicht:

Code: Alles auswählen

N = 1
Debug 3 % (1 << N)

Code: Alles auswählen

i = 3
Debug i % (1 << 1)

Code: Alles auswählen

N = 1
i = 3
t = (1 << N)
Debug i % t
Danke!

Re: [V5.00 x64 Linux] i % (1 << N) ergibt falsches Ergebnis

Verfasst: 15.11.2012 18:37
von c4s
Auf Windows XP x86, PB5.00 kann ich alle vier Fälle bestätigen: Der erste liefter "0", die anderen drei "1".

Interessanterweise funktioniert folgendes aber auch korrekt:

Code: Alles auswählen

N = 1
i = 3
Debug Str(i % (1 << N))

Re: [V5.00 x64 Linux] i % (1 << N) ergibt falsches Ergebnis

Verfasst: 15.11.2012 19:02
von mk-soft
Auch bei PB v4.61 x86

Re: [V5.00 x64 Linux] i % (1 << N) ergibt falsches Ergebnis

Verfasst: 15.11.2012 20:34
von STARGÅTE
kann den Bug bestätigen, PB 5.0 (32 und 64 bit)