可能重复:
如何确定Python中对象的大小?
在C,如果我这样做
USHORT x;
ULONG y;
ULONGLONG yy;
printf("%d %d %d\n", sizeof(x), sizeof(y), sizeof(yy))
Run Code Online (Sandbox Code Playgroud)
输出:2 4 8
如果我这样做,我怎么能用Python得到它
valByte = 0x16
valWord = 0x1234
valDWord = 0x12345678
val64Word = 0x1234567887654321
Run Code Online (Sandbox Code Playgroud)
我期望的输出应该是1,2,4,8
谢谢
在Python3中有bit_length方法:
>>> import math
>>> math.ceil(0x16.bit_length()/8)
1
>>> math.ceil(0x1234.bit_length()/8)
2
>>> math.ceil(0x12345678.bit_length()/8)
4
>>> math.ceil(0x1234567887654321.bit_length()/8)
8
Run Code Online (Sandbox Code Playgroud)
在Python2.7中,long整数也有bit_length方法:
>>> (10**20).bit_length()
67
>>> x = 123
>>> long(x).bit_length()
7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |