Pythonは多倍長整数

入門Python3 2.2.5


例えばC#ではintやlongといったように扱いたい整数の大きさによって型を適切に宣言する必要があるが、Pythonではintで扱える整数の範囲に制限がないとのこと。

また多倍長整数と言って巨大な整数も扱うことができるようだ。

i = 10 ** 1000 # 10の1000乗!
print(i)
$ py main.py
10000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000
0000000

C#の場合こういった巨大数を扱うにはBigIntegerクラスを使ったりしないとダメなので、最初はintだったけどやっぱ巨大な整数扱いたいとかになった場合に意識しなくてすむので便利ですね。

ただ逆に言えばバグ等で意図せず巨大な整数を扱ってしまうといったこともありえるのでケースバイケースなのかもしれませんが。