二进制到十进制转换器(包括负数)

时间:2018-04-08 01:37:35

标签: python binary decimal converter

我需要转换二进制值,例如' 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库,我应该手动编写代码。

1 个答案:

答案 0 :(得分:0)

这将有效:

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

Python shell输出

二进制到十进制:

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

小数到二进制:

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