先决条件: Python中的二进制数系统
给定一个数字,我们必须使用Python查找二进制值的总位数来表示该数字。
示例
Input:
num = 61
Binary value of 61 is = 0b111101
Output:
Total number of bits = 6
Note: '0b' is prefixed to represent binary value
Input:
num = 12
Binary value of 61 is = 0b1100
Output:
Total number of bits = 4
程序:
# 计算一个数字的总位数
# 声明一个数字
num = 61
# 使用bin()方法获取数字的二进制值
# 打印二进制值输出将为0b111101
print "binary value of {0} is: {1}".format (num, bin(num))
# 存储二进制数的长度
length = len(bin(num))
# 由于二进制值包含0b作为前缀
# 因此获得确切的长度总位数
# 从长度中减去2
length -=2
# 列印长度
print "total number of bits: ", length
输出结果
binary value of 61 is: 0b111101
total number of bits: 6
通过定义功能
在下面的程序中,我们使用len(bin(n)[2:]),它将在2个字符后返回二进制值的总长度。
让我们来了解
a=61
= len(bin(a)[2:])# bin(a)为'0b111101'
= len('0b111101'[2:])
= len ('111101')
= 6
程序:
# 计算一个数字的总位数
# 函数获取总位数
# 函数将返回总位数
def totalBits(n):
return len(bin(n)[2: ])
#主要代码
a = 61
b = 12
print "Total bits in {0} = {1} ".format(a,totalBits(a))
print "Total bits in {0} = {1} ".format(b,totalBits(b))
输出结果
Total bits in 61 = 6
Total bits in 12 = 4