python - 在 python 中将二进制转换为十进制(没有内置二进制函数)

标签 python binary

好吧,第一次发帖,如果问题不可行请见谅,无视;

背景: 我在计算机科学 160。自高中以来我没有上过任何与计算机相关的类(class),所以加入这个类(class)对我来说是一个很大的转变。这一切看起来都非常先进。我们一直在使用 Python 工作,每周都会提示我们编写一个程序。

我已经处理这个问题一个多星期了,甚至开始都很难。
提示是读取一个只包含 1 和 0 的整数, 逐位处理二进制数并报告十进制等值。现在,我从一位同学那里得到了一些提示,它至少给我指明了方向。

设置几个计数器; 使用 % 运算符检查数字除以 2 的余数,并切掉最后一个数字(向右)以继续处理下一个数字。

我很难思考要对二进制数字本身使用什么公式,将数字转换为十进制。

setbitval = 0
counter = 0

user = int(input("enter a binary value. "))

if user % 2 == 1:
        user = (user/10) - .1
        setbitval += 1

这就是我目前所知道的一切......我的想法正在阻碍。我搜索了又搜索,甚至通过这些论坛。

非常感谢任何信息或想法,

编辑:好的伙计们,每个人的帮助都非常有用,但我在检查用户输入是否不是二进制数时遇到问题。

for i in reversed(bits):   
decimal += 2**counter * int(i)

counter += 1    

这是这里有人给我的公式,我一直在尝试“for i in bits: if i in bits: != 0 or 1”和“if i in bits: >= 1 or <”的不同迭代=0".
有什么想法吗?

最佳答案

您可以使用此代码:

binary= raw_input("Binary: ")
d= int(binary, 2)
print d

关于python - 在 python 中将二进制转换为十进制(没有内置二进制函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47318771/

相关文章:

linux - 为 Linux 创建可以安装在不同机器上的 R 二进制包?

c - 二叉树节点以及与父节点的关系

c++ - 将二进制字符串转换为 ASCII 字符串 (C++)

python docx设置表格单元格背景颜色

屏幕窗口中的 Python 脚本,cx_oracle 错误

python - Linux 中的虚拟环境和 Python 客户端服务器

Java:将二进制字符串转换为十六进制字符串

python 关闭奇怪的行为

python - 尝试在 Windows 10 上使用 python 创建符号链接(symbolic link)时出现权限错误

haskell - 如何实现十进制到二进制的转换