Teorema do Restante Chinês
Se números inteiros grandes arbitrários aparecerem com freqüência ou uma representação inteira grande na linguagem de programação de destino custar muitos bytes, considere o uso do Teorema do Restante Chinês.
Escolha alguns números inteiros relativamente primos emparelhados m i > = 2, e você pode expressar um grande número de 0 a lcm (m 1 , m 2 , ..., m i ) -1
Por exemplo, eu escolho 2, 3, 5, 11, 79, 83, 89, 97, então posso expressar um número menor que 18680171730 exclusivamente. 10000000000 (1e10) pode ser expresso como 0,1,0,1,38,59,50,49 (1e10 mod 2, 3 ..., 97) que não precisam ser expressos como classe / estrutura grande inteiro inteiro especial que pode salvar alguns bytes em alguma linguagem de programação.
A adição e a subtração podem ser feitas diretamente usando essa representação. Exemplo:
(0,1,0,1,38,59,50,49)+(0,2,0,6,23,20,16,53) = 1e10 + 5000
= (0+0 mod 2, 1+2 mod 3, 0+0 mod 5, 1+6 mod 11, 38+23 mod 79, 59+20 mod 83, 50+16 mod 89, 49+53 mod 97)