删除二进制的0b

时间:2016-05-22 18:25:22

标签: python string character

我正在尝试转换二进制数,我必须取出0b字符串。

我了解如何获取箱号

x = 17

print(bin(17))

'0b10001'

但是我想把字符串中的ob取出来,我遇到了一些问题。这将在一个返回二进制数而没有0b

的函数内

9 个答案:

答案 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'

https://docs.python.org/3/library/functions.html#format

答案 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'