Groups | Search | Server Info | Login | Register


Groups > comp.lang.pascal.borland > #132

Re: longint and/or overflow bug?

From Marco van de Voort <marcov@toad.stack.nl>
Newsgroups comp.lang.pascal.borland
Subject Re: longint and/or overflow bug?
Date 2012-10-31 09:35 +0000
Organization Stack Usenet News Service
Message-ID <slrnk91s66.1ddn.marcov@toad.stack.nl> (permalink)
References <a3cac83f-4bb6-46ae-a9ab-70a7c0d73e5d@s18g2000yqh.googlegroups.com>

Show all headers | View raw


On 2012-10-30, Jim Leonard <mobygamer@gmail.com> wrote:
>
> var
>   l:longint;
>   w1,w2:word;
>
> begin
>   w1:=val1; w2:=val2;
>   l:=w1 * w2; {Throws runtime 215 "arithmetic overflow" if $Q+}

typing:
longint :=word * word

Pascal rule is afaik that an expression is evaluated in (at least?) the
combined range of the operands.  Which is word.

So the above translates to

tempresult: word = word * word
longint:=convert(word,longint,tempresult);

Note that FPC/Delphi do the same with 64-bit results (in 32-bit mode).

Back to comp.lang.pascal.borland | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

longint and/or overflow bug? Jim Leonard <mobygamer@gmail.com> - 2012-10-30 08:56 -0700
  Re: longint and/or overflow bug? Vinzent Höfler <0439279208b62c95f1880bf0f8776eeb@t-domaingrabbing.de> - 2012-10-30 18:18 +0100
    Re: longint and/or overflow bug? Jim Leonard <mobygamer@gmail.com> - 2012-10-30 12:31 -0700
      Re: longint and/or overflow bug? rugxulo@gmail.com - 2012-10-30 14:50 -0700
  Re: longint and/or overflow bug? Marco van de Voort <marcov@toad.stack.nl> - 2012-10-31 09:35 +0000
    Re: longint and/or overflow bug? Marco van de Voort <marcov@toad.stack.nl> - 2012-10-31 10:11 +0000

csiph-web