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

From: jim holtman <jholtman_at_gmail.com>
Date: Tue 31 Jan 2006 - 04:54:25 EST

You have reached the maximum value that can be stored accurately in a floating point number. That is what the error message is telling you. I get 21 warnings and this says that at 8^20 I am now truncating digits in the variable. You only have about 54 bits in the floating point number and you exceed this about 8^19.

> a=1:40;
> 8^a %% 41
 [1] 8 23 20 37 9 31 2 16 5 40 33 18 21 4 32 10 39 25 36 1 8 23 20 37 9 31 2 16 5 40 33
[32] 18 21 4 32 10 0 0 0 0
There were 21 warnings (use warnings() to see them)
> warnings()

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
4: probable complete loss of accuracy in modulus
5: probable complete loss of accuracy in modulus
6: probable complete loss of accuracy in modulus
7: probable complete loss of accuracy in modulus
8: probable complete loss of accuracy in modulus
9: probable complete loss of accuracy in modulus
10: probable complete loss of accuracy in modulus
11: probable complete loss of accuracy in modulus
12: probable complete loss of accuracy in modulus
13: probable complete loss of accuracy in modulus
14: probable complete loss of accuracy in modulus
15: probable complete loss of accuracy in modulus
16: probable complete loss of accuracy in modulus
17: probable complete loss of accuracy in modulus
18: probable complete loss of accuracy in modulus
19: probable complete loss of accuracy in modulus
20: probable complete loss of accuracy in modulus 21: probable complete loss of accuracy in modulus
>
> 8^35

[1] 4.056482e+31
> 8^36

[1] 3.245186e+32
> 8^19

[1] 1.441152e+17
> 8^19%%41

[1] 36
> 8^20

[1] 1.152922e+18
> 8^20%%41

[1] 1
Warning message:
probable complete loss of accuracy in modulus
>

On 1/30/06, Ionut Florescu <ifloresc@stevens.edu> wrote:
>
> I am a statistician and I come up to an interesting problem in
> cryptography. I would like to use R since there are some statistical
> procedures that I need to use.
> However, I run into a problem when using the modulus operator %%.
>
> I am using R 2.2.1 and when I calculate modulus for large numbers (that
> I need with my problem) R gives me warnings. For instance if one does:
> a=1:40;
> 8^a %% 41
> one obtains zeros which is not possible since 8 to any power is not a
> multiple of 41.
> In addition when working with numbers larger that this and with the mod
> operator R crashes randomly.
>
> I believe this is because R stores large integers as real numbers thus
> there may be lack of accuracy when applying the modulus operator and
> converting back to integers.
>
> So my question is this: Is it possible to increase the size of memory
> used for storing integers? Say from 32 bits to 512 bits (Typical size of
> integers in cryptography).
>
> Thank you, any help would be greatly appreciated.
> Ionut Florescu
>
> ______________________________________________
> 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
>

--
Jim Holtman
Cincinnati, OH
+1 513 247 0281

What the problem you are trying to solve?

	[[alternative HTML version deleted]]

______________________________________________
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 05:07:29 2006

This archive was generated by hypermail 2.1.8 : Tue 31 Jan 2006 - 08:23:52 EST