【问题标题】:binary to decimal converter (including negative)二进制到十进制转换器(包括负数)
【发布时间】:2018-09-17 17:02:22
【问题描述】:

我需要将“1010”等二进制值转换为十进制值。这需要包括负二进制。

def BinaryToDecimal (n):

    n1 = n
    decimal = 0
    i = 0
    n = 0
    while(n != 0):
      dec = n % 10
      decimal = decimal + dec * pow(2, i)
      n = n//10
      i += 1
    print(decimal)

这是我到目前为止所拥有的,但它不起作用。我不确定还能做什么。请帮忙!我不允许使用任何花哨的 python 库,我应该手动编写代码。

【问题讨论】:

  • 你设置 n = 0 然后在 while 循环中立即测试 n != 0 是否。改变它并评估
  • 您是将二进制数作为字符串还是整数传递?我不知道模运算符是否在字符串上定义。

标签: python binary decimal converter


【解决方案1】:

这将起作用:

def BinaryToDecimal(n):
    n = str(n)
    print(int(n,2))

Python 外壳输出

二进制转十进制:

>>> bin_str = '11111111'
>>> int(bin_str,2)
255

小数转二进制:

>>> decimal = 255
>>> "{:b}".format(decimal)
'11111111'

【讨论】:

    猜你喜欢
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 2020-06-27
    • 2020-06-25
    • 2012-05-28
    • 2013-05-14
    相关资源
    最近更新 更多