Javascript calcula números inteiros grandes incorretamente [duplicado]
Aug 20 2020
Estou fazendo um programa sobre a fórmula 10 ^ (a-1) -1 mod a = 0. No entanto, ao usar Javascript, ele não funciona com números acima de 23. Exemplo:
var b = 29
var a = Math.pow(10, b-1)
console.log(a);
console.log(a/b);
console.log(a % b)
Esta é a saída:
1e+28
3.448275862068965e+26
14
A saída para a função módulo deve ser 1. Existe alguma maneira de fazê-la resolver os cálculos corretamente?
Respostas
1 iota Aug 20 2020 at 13:01
Você pode usar BigInt.
var b = 29n;
var a = 10n ** (b - 1n);
console.log(a.toString());
console.log((a/b).toString());
console.log((a % b).toString());
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas