?
1 回答

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
在python2.7中,表示整數的有int和long兩個類型。int類型和C++的int類似,都是一個固定位數的數;long則是一個理論上可以存儲無限大數的數據類型。當你的數大到可能溢出時,python就會機智的幫你轉換成long,這樣就避免了溢出。而python3之后整數只有一個可以放任意大數的int了??墒菬o論哪種,都是采用了特殊的方法實現了不會溢出的大整數。整數溢出的本質就是空間不夠無法完整存放數據,因此對付溢出的思路就是加空間,1Byte hold不住上2Byte,2Byte不行再加。python中的大整數就是用了這個原理,把一個格外大的數拆分成若干個byte,然后把每個byte存下來。然后再針對多字整型實現一套操作,放在用戶面前的就是一個用起來很省心的絕對沒有溢出的good int了。但相應的,由于每次運算要處理多個byte,效率下降是必然的了
添加回答
舉報
0/150
提交
取消