bug-gawk
[Top][All Lists]
Advanced

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

Re: GAWK 5.1.0 doesn't work with 64bit numbers


From: Peter Brooks
Subject: Re: GAWK 5.1.0 doesn't work with 64bit numbers
Date: Sun, 21 Mar 2021 14:20:59 +0000

Shouldn't awk give a range error if asked to convert a number out of range?

Is the 'hidden bit' you refer to an overflow bit, if not, what is its
function?

On Sun, 21 Mar 2021 at 14:14, Nelson H. F. Beebe <beebe@math.utah.edu>
wrote:

> Hans Riehm reports that assignment of 64-bit integers
>
>         x0 = 0x736f6d6570736575
>
> does not reproduce them when printed:
>
>         printf("%X\n", x0)
>         736F6D6570736400
>
> The awk language since its introduction in the 1980s has always had
> just two data types: strings and numbers.  The latter are by default
> represented as the C type double, which on modern systems is always
> the IEEE 754 64-bit format, with a 1-bit sign, 11-bit biased
> exponent, 1 hidden (not stored) leading bit before the binary
> point, and a stored 52-bit fraction.  Thus, the largest integer
> that is exactly represent in that format has at most 53 bits.
>
> The behavior that Hans reported may be surprising, but it is not a
> bug.
>
>
> -------------------------------------------------------------------------------
> - Nelson H. F. Beebe                    Tel: +1 801 581 5254
>     -
> - University of Utah                    FAX: +1 801 581 4148
>     -
> - Department of Mathematics, 110 LCB    Internet e-mail:
> beebe@math.utah.edu  -
> - 155 S 1400 E RM 233                       beebe@acm.org
> beebe@computer.org -
> - Salt Lake City, UT 84112-0090, USA    URL:
> http://www.math.utah.edu/~beebe/ -
>
> -------------------------------------------------------------------------------
>
>

-- 
Peter Brooks

Skype:  Fustbariclation
Twitter: Fustbariclation
Author Page: amazon.com/author/peter_brooks


reply via email to

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