Joined: 22 Nov 2005 Posts: 700 Location: Troy, Michigan USA
I would say the difference is in the compilers. There are some compilers, or compiler versions that will strictly adhere to the picture edit. You have S9(9), a signed 9 digit number. You are trying to use a 10 digit signed number. This will, with some compilers, truncate the value to -147483507. Then when you move it to a 9(10), an unsigned 10 digit number, the result will be 147483507.
The compile I have will honor any number that will fix into a full word +- 2147483647. Even if the picture is defined as a s9(5) comp.