Python中的Sign-Magnitude Binary Equivelent

时间:2016-03-27 02:34:52

标签: python binary

我正在尝试在python中编写一个函数,使用sign-magnitude将十进制数转换为python中的二进制数。该函数传递十进制值和位数。我不想使用bin()函数,因为我试图理解算术。

1 个答案:

答案 0 :(得分:2)

你只得到15位,因为你需要用二进制代表number(和它的符号)。一旦while为零,您的number循环就会退出,即使尚未用完所有位。您可能希望将其更改为根据位数在for上使用range循环。

for _ in range(bits - 1):
    rem = number % 2
    s.push(rem)
    number = number // 2

您也可以在此使用divmod在单个操作中同时执行除法和模数。