Π Π΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» (Π·Π½Π°ΠΊΠΎΠ²ΡΡ ).
- ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°:
BigInteger
- ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»:
biginteger.h
- Π€Π°ΠΉΠ» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
biginteger.cpp
ΠΠ»Ρ ΠΊΠ»Π°ΡΡΠ° BigInteger ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ:
- ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ Π½ΡΠ»ΡΠΌ).
- ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΎΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ².
- Π―Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΎΡ
std::string
. - ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
- ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ:
- ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ,
- ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ,
- ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
- ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
- Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΠ½Π°ΡΠ½ΡΠΉ ΠΌΠΈΠ½ΡΡ, ΡΠ½Π°ΡΠ½ΡΠΉ ΠΏΠ»ΡΡ, ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΡ ΠΈ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΡ.
- Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: ΠΈ, ΠΈΠ»ΠΈ, ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ ΠΈΠ»ΠΈ, Π½Π΅, Π±ΠΈΡΠΎΠ²ΡΠ΅ ΡΠ΄Π²ΠΈΠ³ΠΈ.
- ΠΠ½Π΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
std::string to_string(BigInteger const&)
.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
- Π Π°Π·ΡΡΠ΄Ρ ΡΠΈΡΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 32-Π±ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, Π²ΡΠ΅ Π±ΠΈΡΡ Π² ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ.
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
std::string
ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ to_string,std::numeric_limits
).
- ΠΠ½ΡΡ Π.Π. ΠΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’ΠΎΠΌ 2. ΠΠΎΠ»ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. ΠΠ»Π°Π²Π° 4. Π‘Π΅ΠΊΡΠΈΡ 4.3.
- "Modern Computer Arithmetic"
- "Multiple-Length Division Revisited: A Tour of the Minefield"