本文介绍了获取Python中整数所需的字节大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何找出某个整数占用的存储字节数?
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(字节)
- hexadecimal
x00
-xff
(or decimal0
-255
= binary0000 0000
-1111 1111
) I'm looking to get 1 (Byte), - hexadecimal
x100
-xffff
(or decimal256
-65535
= binary0000 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中整数所需的字节大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!