[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gawk] option --non-decimal-data discard lowest 8 bits
From: |
arnold |
Subject: |
Re: [bug-gawk] option --non-decimal-data discard lowest 8 bits |
Date: |
Mon, 06 Feb 2017 01:22:43 -0700 |
User-agent: |
Heirloom mailx 12.4 7/29/08 |
Hi.
Thanks for submitting a report.
As you surmise, this is a (documented!) limitation of awk's use of double
precision floating point numbers.
You can use the -M option to supply more bits of precision, if your
version of gawk was compiled with MPFR support.
Thanks,
Arnold
Zhizhou Zhang <address@hidden> wrote:
> Hi,
>
> I'm using gawk 4.1.4. I found a problem with --non-decimal-data. It's
> shown below:
>
> $ cat a
> 0x1111222233334444
> $ cat a | gawk --non-decimal-data '{printf( "0x%x\n", $0)}'
> 0x1111222233334400
>
> As it is, the lowest 8 bits 0x44 is discarded. I had a glance over the
> source code, It seems because of AWKNUM is float type, which reserved
> some bits for exponent part.
>
> #define AWKNUM double
>
> Is this a known issue? I'm not sure whether it is a bug, I hope I
> haven't bothered you too much.
>
> --
> Regards,
> Zhizhou