View previous topic :: View next topic
|
Author |
Message |
bdweirdt
New User
Joined: 09 Nov 2006 Posts: 2
|
|
|
|
Hello
I'm new at PL/I and have written a program. A simple X / 2 is doing some weird things. An example
X dec fixed(15)
Y dec fixed(15,1)
Y = X/2
now the problem is that this simple division is giving some weird results:
IF X = 1, Y = 0,0 (I would expect 0,5)
It would be a lot easier to use the builtin function REM, but I can't get it to work. When I declare REM as al builtin, it complains that it's not a builtin function.
Thx in advance,
Bart |
|
Back to top |
|
|
acp_ajay1
New User
Joined: 13 Mar 2006 Posts: 9
|
|
|
|
Hello Bart,
Please declare the variables as given below
DCL X FIXED BIN(15,0)
DCL Y FIXED BIN(15,1)
Try it out.....It definitely works...Do let me know if u have any further problems with this.....
Regards,
Ajay |
|
Back to top |
|
|
cheryala
New User
Joined: 20 Mar 2006 Posts: 46
|
|
|
|
hello bdweirdt,
When you use
y=x/2 ;
here compiler assumes the precision of numeric constant to be fixed dec(1,0).
When the division is evaluated the result will have the precision of (15,0) . This result is assigned to the target variable Y.
For more information on how the precision is calculated refere IBM manual ..
Regards,
Raj |
|
Back to top |
|
|
|