先决条件: 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