二进制到十进制和十进制到二进制转换器

时间:2014-01-30 12:12:28

标签: python

有人可以帮我解释一下这些Python程序:

b =input("What number would you like to convert into Binary? ")
convert = lambda d: bin(int(d)) [2:]
print(b + " is " + convert(b) + " in Binary")

以及这些代码行:

b = input("What Binary number would you like to convert into Decimal? ")
convert= lambda b: str(int(b, 2))
print(b + " is " + convert(b) + " in Decimal")

3 个答案:

答案 0 :(得分:3)

lambda表达式是一种定义短函数的方法,例如

f = lambda x: x**2 # e.g. f(2) == 4

相当于

def f(x):
    return x**2

int(d)d转换为整数。 bin(...)获取该整数并将其转换为二进制字符串,如下所示:

bin(int(3)) == '0b11'

请注意,前两个字符0b并不是数字的一部分,因此我们使用切片表示法[2:]从索引2开始返回所有内容:

'0b11'[2:] == '11'

最后,int的可选第二个参数设置了应该用于转换参数的基数;在这种情况下,基础2(二进制):

int('11', 2) == 3

您也可以将此用于其他基地,例如16(十六进制):

int('11', 16) == 17

答案 1 :(得分:0)

十进制到二进制:

bin(124)

这将给出值'0b1111100'
二进制到十进制:

int('0b1111100', 2)

这将给出值124

答案 2 :(得分:0)

十进制到二进制转换 如果n = 5

bin=lambda x : format(x,'b')
print(bin(n))

第一个语句将使bin为一个函数,该函数将接受一个参数并将其转换为二进制,格式用于将int转换为二进制和lambda以获取二进制数字。

这将帮助您打印二进制数字