Teorema Sisa Tiongkok
Jika bilangan bulat besar yang sewenang-wenang sering muncul, atau representasi bilangan bulat besar dalam bahasa pemrograman target menghabiskan terlalu banyak byte, Anda dapat mempertimbangkan menggunakan Teorema Sisa Bahasa Cina.
Pilih beberapa bilangan bulat relatif prima m i > = 2, dan Anda dapat mengekspresikan angka besar dari 0 hingga lcm (m 1 , m 2 , ..., m i ) -1
Misalnya, saya memilih 2, 3, 5, 11, 79, 83, 89, 97, maka saya dapat mengungkapkan angka kurang dari 18680171730 secara unik. 10000000000 (1e10) dapat dinyatakan sebagai 0,1,0,1,38,59,50,49 (1e10 mod 2, 3 ..., 97) yang tidak perlu dinyatakan sebagai kelas / struct Big Integer khusus yang mungkin menghemat beberapa byte dalam beberapa bahasa pemrograman.
Penambahan dan substraksi dapat dilakukan secara langsung menggunakan representasi ini. Contoh:
(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)