之前學過C,現(xiàn)在學Python 3.5,下圖來自廖雪峰網站
為什么Python整數、浮點數沒有大小限制??Python中整數和浮點數怎樣儲存的?
是不是說Python所有聲明整數、浮點數就直接相當于C中的long long和long double之類的,就直接最大內存分配嗎?
Python 的整數,理論上來說只要內存放得下,可以是任意長度的(遠超long long)。
如果C的long裝得下,就用long裝,裝不下就自動轉換到大整數,這一過程對于程序員基本透明。
而浮點數,應該就是C的double類型。
Floating point numbers are usually implemented using double in C. ——Python官方文檔
在Python中,整數是只要內存夠,長度是無限制的,應該是比C里面的long long大很多的。
浮點數是用機器上的雙精度(64 bit)的,提供大約17位有效數字,應該跟C里面的double類型是差不多的。