emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: integer overflow


From: Chong Yidong
Subject: Re: integer overflow
Date: Fri, 05 Mar 2010 22:11:35 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.93 (gnu/linux)

Glenn Morris <address@hidden> writes:

> I don't really understand it. In a 32-bit Emacs:
>
> (1+ 536870911) -536870912
> (+ 2 536870911) -536870911
> (1+ 536870912)  536870913.0
> (1+ 4294967295) overflow
> (1+ 4294967295.0) 4294967296.0
>
> Can you summarize how it's supposed to work?

The change affects the Lisp reader: reading "536870912" or any larger
number now gives you a float Lisp object, instead of an integer Lisp
object (since there is no way to represent 536870912 or larger as
integers).  536870911 and below are still read as integers.

The change does not prevent the possibility of overflowing integers, as
your example shows.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]