Jag hittade äntligen ett sätt att göra det. Låt säga N
är ett värde av typen NUMBER
, och du måste på något sätt simulera ett 32-bitars signerat heltalsspill, då:
N := MOD(N, 4294967296);
IF N > 2147483647
THEN
N := N - 4294967296;
ELSIF N < -2147483648
THEN
N := N + 4294967296;
END IF;