有这段代码:
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
