E o seguinte estou fazendo um programa para criptografia RSA e estou tendo problemas nos resultados por que os números são muito grandes e as variáveis (int, long, etc…etc…) tem um limite.
Por exemplo.
long num = (long) Math.pow(3,39);
System.out.println(num % 121);
Conferindo o resultado na calculadora, o resultado deveria dar 81, mas esta dando 70.
Quando diminuo o valor do expoênte do Math.pow de 39 para 29 o resultado da certinho (81).
Sei que isso dever ser por causa do limite que o long tem, mas como eu resolvo isso!!
Ja tentei usar o double, float etc.etc…
Tem tambem a classe BigInteger, mas não consegui usar!!
Alguem pode me da uma luz?!!