如何以反转形式打印二进制数字?

时间:2019-11-21 17:35:28

标签: python-3.x

  

这是将十进制数字转换为二进制的程序代码...但是打印的总答案不是反向格式

num = 34

而num> 1:

remainder = str(num % 2)

num = num // 2
print(remainder[-1::-1], end="")
if num == 1:
    print(1)

3 个答案:

答案 0 :(得分:0)

假设您的代码已正确地从十进制转换为二进制,由于格式不正确,我无法验证,这是一种反转int的方法。

def reverse(i):
    n = str(i)
    r = ""
    for i in range(len(n)):
        new = n[len(n)-i-1]
        r = r + new
    return r

print(reverse(124567))

答案 1 :(得分:0)

您还可以将数字转换为字符串,将其取反,然后再次将其转换为整数:

>>> int(str(12345)[::-1])
54321

答案 2 :(得分:0)

如果要获取数字的二进制数并将其取反,可以执行以下操作:

print("{0:b}".format(16)[::-1])
print("{0:b}".format(16)[::1])

输出:

00001
10000
  

如果希望,这就是您的意思。否则我会误会