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