Re: [R] Integer bit size and the modulus operator

From: Ionut Florescu <ifloresc_at_stevens.edu>
Date: Tue 31 Jan 2006 - 08:06:50 EST

Actually it does that in my 2.2.1 version as well:

 > options(digits=20)
 > 8^(1:20)

 [1] 8.0000000000000000e+00 6.4000000000000004e+01 5.1200000000000001e+02
 [4] 4.0960000000000001e+03 3.2768000000000002e+04 2.6214400000000002e+05
 [7] 2.0971519999999999e+06 1.6777215999999999e+07 1.3421772800000000e+08
[10] 1.0737418240000001e+09 8.5899345920000005e+09 6.8719476736000003e+10
[13] 5.4975581388799997e+11 4.3980465111039999e+12 3.5184372088832001e+13
[16] 2.8147497671065600e+14 2.2517998136852482e+15 1.8014398509481984e+16 [19] 1.4411518807585588e+17 1.1529215046068471e+18

Peter Dalgaard wrote:
> jim holtman <jholtman@gmail.com> writes:
>
>
>> The other thing that you have to be aware of is that 8^n is not 8 multiplied
>> by itself n times. You are probably using logs to compute this. Here is a
>> sample of 8^(1:20). The value of 8^2 is 64.000000000000004 (not exactly an
>> integer); roundoff errors are apparent in the other values.
>>
>>
>>> 8^(1:20)
>>>
>> [1] 8.0000000000000000e+00 6.4000000000000004e+01 5.1200000000000001e+02
>> 4.0960000000000001e+03
>> [5] 3.2768000000000002e+04 2.6214400000000002e+05 2.0971519999999999e+06
>> 1.6777215999999999e+07
>> [9] 1.3421772800000000e+08 1.0737418240000001e+09 8.5899345920000005e+09
>> 6.8719476736000003e+10
>> [13] 5.4975581388799997e+11 4.3980465111039999e+12 3.5184372088832001e+13
>> 2.8147497671065600e+14
>> [17] 2.2517998136852482e+15 1.8014398509481984e+16 1.4411518807585588e+17
>> 1.1529215046068471e+18
>>
>
> This was resolved a few versions back as I recall it (seems to have
> eluded the NEWS file?):
>
>
>> options(digits=20)
>> 8^(1:20)
>>
> [1] 8.0000000000000000000e+00 6.4000000000000000000e+01
> [3] 5.1200000000000000000e+02 4.0960000000000000000e+03
> [5] 3.2768000000000000000e+04 2.6214400000000000000e+05
> [7] 2.0971520000000000000e+06 1.6777216000000000000e+07
> [9] 1.3421772800000000000e+08 1.0737418240000000000e+09
> [11] 8.5899345920000000000e+09 6.8719476736000000000e+10
> [13] 5.4975581388800000000e+11 4.3980465111040000000e+12
> [15] 3.5184372088832000000e+13 2.8147497671065600000e+14
> [17] 2.2517998136852480000e+15 1.8014398509481984000e+16
> [19] 1.4411518807585587200e+17 1.1529215046068469760e+18
>
>
>> 8^(1:20) %%1
>>
> [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> Warning messages:
> 1: probable complete loss of accuracy in modulus
> 2: probable complete loss of accuracy in modulus
> 3: probable complete loss of accuracy in modulus
>
>
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Jan 31 08:27:30 2006

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:42:15 EST