Skip to main content
 首页 » 编程设计

python之检查没有符号的大整数值的类型

2025年05月04日15JeffreyZhao

有这段代码:

print isinstance(2147483647, int) # True - max signed 32-bit integer 
print isinstance(4294967295, int) # False - max unsigned 32-bit integer 
print isinstance(18446744073709551615, int) # False - max unsigned 64-bit integer 

如何判断值是无符号 32 位整数还是无符号 64 位整数?

请您参考如下方法:

如果您只是想检查数字是否适合 32 位整数或 64 位整数,可以使用一种名为 bit-length 的方法来检查并确定结果是否小于32 与否。

例如

>>> def Is32or64(x): 
    return 32 if x.bit_length() < 32 else 64 
 
>>> Is32or64(2**30) 
32 
>>> Is32or64(2**40) 
64