簡體   English   中英

如何確定Python中的數字是32位還是64位整數?

[英]How to determine whether the number is 32-bit or 64-bit integer in Python?

我想區分Python中的32位和64位整數。 在C中,我們可以使用int_64int_32聲明變量,這非常簡單。 但是在Python中我們如何區分32位整數和64位整數?

沒有必要。 解釋器處理幕后的分配,根據需要有效地從一種類型推廣到另一種類型,而無需您做任何明確的事情。

基本上,你沒有。 沒有理由。 如果要處理已知位大小的類型,請查看numpy數據類型。

如果你想數據放入指定格式,看結構模塊。

其他答案中提到的struct模塊就是你需要的東西。

一個清楚的例子。

import struct

struct.pack('qii', # Format string  here.
            100, # Your 64-bit integer
            50, # Your first 32-bit integer
            25) # Your second 32-bit integer

# This will return the following:
'd\x00\x00\x00\x00\x00\x00\x002\x00\x00\x00\x19\x00\x00\x00'

格式化字符串的文檔

來自ipython解釋器會話的以下片段指示了一種測試整數類型的方法。 注意,在我的系統上, int是64位數據類型, long是多字類型。

In [190]: isinstance(1,int)
Out[190]: True    
In [191]: isinstance(1,long)
Out[191]: False    
In [192]: isinstance(1L,long)
Out[192]: True

另請參閱有關sys.getsizeof 的答案 此函數並不完全相關,因為包含了一些額外的開銷字節。 例如:

In [194]: import sys    
In [195]: sys.getsizeof(1)
Out[195]: 24
In [196]: sys.getsizeof(1L)
Out[196]: 28

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM