在不删除 python 中的前导零的情况下获取十六进制数的位数

Getting the number of digits in hex number without removing the leading zeros in python

提问人:Osama Hijazi 提问时间:7/30/2023 更新时间:7/30/2023 访问量:41

问:

我想计算python中十六进制数的位数,例如:

num = 0X0101
num1 = 0X00001
print(len(format(num, "04x")))

问题是位数和前导零是可变的,所以这条线不起作用。

print(len(format(num, "04x")))

请注意,和只是一个示例,可能具有不同的值。numnum1

我想在不删除前导零的情况下计算十六进制数的位数。

Python 十六进制 数字

评论

3赞 Michael Butscher 7/30/2023
num1 = 0X00001具有与 完全相同的结果。有关前导零或数字是否以十六进制或十进制表示法书写的任何信息都不会存储在 中。num1 = 1num1
6赞 Barmar 7/30/2023
如果要保留前导零,则必须使用字符串,而不是数字。
0赞 ekhumoro 7/30/2023
这方面的实际编程背景是什么?您想解决什么具体问题?
1赞 Kurtis Rader 7/30/2023
这似乎是一个 XY 问题。在数字表示中没有“前导零”这样的东西。正如 Barmar 所指出的,如果前导零是显著的(它们通常不是),那么你必须使用字符串表示——而不是数字表示。

答: 暂无答案