Ich habe endlich einen Weg gefunden, das zu tun. Sagen wir N
ist ein Wert vom Typ NUMBER
, und Sie müssen irgendwie einen 32-Bit-Ganzzahlüberlauf mit Vorzeichen simulieren, dann:
N := MOD(N, 4294967296);
IF N > 2147483647
THEN
N := N - 4294967296;
ELSIF N < -2147483648
THEN
N := N + 4294967296;
END IF;