[Info-vax] DCL Integer Overflow
Arne Vajhøj
arne at vajhoej.dk
Sun Jul 2 16:12:43 EDT 2017
On 7/2/2017 9:15 AM, VAXman- at SendSpamHere.ORG wrote:
> In article <oj8oc5$8s5$1 at panix2.panix.com>, kludge at panix.com (Scott Dorsey) writes:
>> On 6/30/2017 5:06 AM, GerMarsh wrote:
>>> I know that there have been a few discussions about
>>> enhancing/replacing DCL, but I wonder if someone will fix the old
>>> integer overflow which has been there since the year dot...
>>>
>>> $ int=%x7fffffff
>>> $ sho sym int
>>> INT = 2147483647 Hex = 7FFFFFFF Octal = 17777777777
>>> $ int=int+1
>>> $ sho sym int
>>> INT = -2147483648 Hex = 80000000 Octal = 20000000000
>>
>> This is not a bug, it's a feature.
>> If you don't want it to roll over, what DO you want it to do?
>> Halt with an error?
>
> Halt and Catch Fire!
>
> In need of real math? Use Fortran!
Yes.
But note that it does not change much.
$ type intovf.for
PROGRAM INTOVF
INTEGER*4 V
V = Z'7FFFFFFF'
WRITE(*,100) V,V,V
V = V + 1
WRITE(*,100) V,V,V
100 FORMAT(1X,I,Z,O)
END
$ for/old/warn=all intovf.for
$ link intovf
$ run intovf
2147483647 7FFFFFFF 17777777777
-2147483648 80000000 20000000000
Arne
More information about the Info-vax
mailing list