如何描述这个函数背后的数学

时间:2013-07-30 11:04:02

标签: python binary decimal converter helper

这是一个十进制到二进制转换器。我需要帮助解释背后的数学,因为我不知道如何解释所有的移位等。

number = int(raw_input("Enter the Number:"))
binary = ''
while number > 0:
    binary = str(number % 2) + binary 
    number >>=1
print(binary)    

2 个答案:

答案 0 :(得分:0)

循环构建一个表示二进制值的字符串。

str(number%2)找到该数字的最低位(0或1)。

binary = str(数字%2)+二进制将该位添加到字符串二进制

的左端

number>> = 1 删除我们已完成的低位

,而数字> 0 继续,直到数字为0

答案 1 :(得分:0)

假设您要将56转换为二进制文件。

当右移1位时,56(111000)变为28(011100)

注意:右移位运算符会使第一个操作数中的位模式向右移位第二个操作数指定的位数。对于无符号数量,由移位操作腾出的位为零填充

像这样,变量数字右移1,直到大于1,每次数字的余数除以2(总是0或1)结果变量二进制

最后,变量二进制将具有二进制等价