如何找出某个整数占用的存储字节数?
How can I find out the number of Bytes a certain integer number takes up to store?
例如对于
x00
- xff
(或十进制0
- 255
= 二进制0000 0000
- 1111 1111
) 我希望得到 1(字节),x100
- xffff
(或十进制256
- 65535
= 二进制0000 00010000 0000
- 1111 1111 1111 1111
) 会给我 2(字节)x00
- xff
(or decimal 0
- 255
= binary 0000 0000
- 1111 1111
) I'm looking to get 1 (Byte),x100
- xffff
(or decimal 256
- 65535
= binary 0000 0001 0000 0000
- 1111 1111 1111 1111
) would give me 2 (Bytes)等等.
输入十六进制或十进制格式的任何线索?
Any clue for hexadecimal or decimal format as the input?
你可以使用简单的数学:
You can use simple math:
>>> from math import log
>>> def bytes_needed(n):
... if n == 0:
... return 1
... return int(log(n, 256)) + 1
...
>>> bytes_needed(0x01)
1
>>> bytes_needed(0x100)
2
>>> bytes_needed(0x10000)
3
这篇关于获取Python中整数所需的字节大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!