之前學過C,現在學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類型是差不多的。
Python 的整數,理論上只要內存放得下,可以是任意長度的(遠超long long)。
如果C的long裝得下,就用long裝,裝不下就自動轉換到大整數,這一過程對於程式設計師基本上透明。
而浮點數,應該就是C的double型。
在Python中,整數是只要記憶體夠,長度是無限制的,應該是比C裡面的long long大很多的。
浮點數是用機器上的雙精度(64 bit)的,提供大約17位元有效數字,應該跟C裡面的double類型是差不多的。