我正在尝试转换二进制数,我必须取出0b字符串。
我了解如何获取箱号
x = 17
print(bin(17))
'0b10001'
但是我想把字符串中的ob取出来,我遇到了一些问题。这将在一个返回二进制数而没有0b
的函数内答案 0 :(得分:4)
使用切片操作删除前两个字符。
In [1]: x = 17
In [2]: y = bin(x)[2:]
In [3]: y
Out[3]: '10001'
答案 1 :(得分:4)
使用python string slice
操作。
a = bin(17)
b = bin(17)[2:]
将此格式设置为8位使用zfill
。
c = b.zfill(8)
答案 2 :(得分:3)
format(17, 'b')
>>> '10001'
使用内置的 format()
。它也适用于十六进制,只需将 'b'
替换为 'x'
。
答案 3 :(得分:1)
只需制作此功能即可:
def f(n):print('{:0b}'.format(n))
f(17)
>>> 10001
答案 4 :(得分:0)
print (bin(int(input().strip()))[2:])
Pythonic解决方法。 ;)
答案 5 :(得分:0)
我不知道为什么没人建议使用[
{name: "Luke May", age: 43, gender: "male", status: "married"}
{name: "Sarah Saw", age: 54, gender: "female", status: "single"}
{name: "Magac gose", age: 51, gender: "male", status: "single"}
]
。
lstrip
答案 6 :(得分:0)
bin(n).replace("0b", "")
这是使用替换
其中n
是提供的十进制数
答案 7 :(得分:0)
inhexa = {hexanum.get())#获取十六进制值 dec = int(inhexa,16)#更改基数以确保转换为基数16以进行整数运算
b=bin(dec)[2:] #converts int/dec into binary and shows string except first two digits
答案 8 :(得分:0)
在Python 3.6中,您可以使用f字符串
print( f'{x:b}' )
'10001'