Big number arithmetic
Basic operations for working with large integers. The bignum
function converts a positive integer, string or raw vector into a bignum type.
All basic Arithmetic and Comparison operators such as
+
, -
, *
, ^
, %%
, %/%
, ==
,
!=
, <
, <=
, >
and >=
are implemented for
bignum objects. The
Modular exponent
(a^b %% m
) can be calculated using bignum_mod_exp
when b
is too large for calculating a^b
directly.
bignum(x, hex = FALSE) bignum_mod_exp(a, b, m) bignum_mod_inv(a, m)
x |
an integer, string (hex or dec) or raw vector |
hex |
set to TRUE to parse strings as hex rather than decimal notation |
a |
bignum value for |
b |
bignum value for |
m |
bignum value for |
# create a bignum x <- bignum(123L) y <- bignum("123456789123456789") z <- bignum("D41D8CD98F00B204E9800998ECF8427E", hex = TRUE) # Basic arithmetic div <- z %/% y mod <- z %% y z2 <- div * y + mod stopifnot(z2 == z) stopifnot(div < z)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.