如何解决为什么在 Python 中使用模数和地板除法会返回一个反转的二进制数?
我是编程新手,不明白为什么这段代码会返回输入的二进制数。
x = int(input())
while x > 0:
print(x % 2,end='')
x = x // 2
例如,当我输入 6 时,我希望它返回 0 (6 % 2 = 0,0 // 2 = 0),但它返回 011。
我表示正在考虑这一点,因为在一项作业中,我们应该使用此编码来帮助我们反转输出(同时使用字符串),但是当我不知道为什么时,我不知道如何反转它它有效。
解决方法
011 的答案对您的代码是正确的,只需通过跟踪即可。你从 6%2 开始,所以你得到 0。然后 6 floor 2 是 3,然后是下一次迭代的 x,所以它变成 3%2,即 1,最后一次迭代创建最后一个 1。记住你不改变打印语句中 x 的值,只改变最后一行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。