Çin Kalan Teoremi
Rasgele büyük tamsayılar sıklıkla görünürse veya hedef programlama dilindeki büyük tamsayı gösterimi çok fazla bayt tutarsa, Çin Kalan Teoremi'ni kullanmayı düşünebilirsiniz.
M i > = 2 olarak bazı çiftler cinsinden göreceli asal tamsayıları seçin ve 0 ile 1 cm arasında (m 1 , m 2 , ..., m i ) -1 ile büyük bir sayı ifade edebilirsiniz.
Örneğin, 2, 3, 5, 11, 79, 83, 89, 97'yi seçiyorum, ardından 18680171730'dan daha az bir sayıya özel olarak ifade edebilirim. 10000000000 (1e10), kurtarabilecek özel Big Integer sınıfı / yapı olarak ifade edilmesi gerekmeyen 0,1,0,1,38,59,50,49 (1e10 mod 2, 3 ..., 97) olarak ifade edilebilir. bazı programlama dillerinde bazı baytlar.
Toplama ve çıkarma işlemi doğrudan bu temsil kullanılarak yapılabilir. Örnek:
(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)