二进制整数到字符串,显示获取相同的数字

2024-09-27 23:21:38 发布

您现在位置:Python中文网/ 问答频道 /正文

无法将二进制整数转换为字符串

我已经尝试过分析char、binary和string,但它并没有按照我想要的方式正常工作

def xorGate(self):
    xorNumber= ''
    #receiving the 2 integers
    numBin1 = self.__sanearInput(self.inputParams[0])
    numBin2 = self.__sanearInput(self.inputParams[1])
    #act
    xorNumber=numBin1^numBin2
    #result
    xorNumber=str(xorNumber)
    self.outputParams.append(xorNumber)

我把“1000”作为一个参数1010". 最后,它将结果解析为字符串“26”,而不是“0010”


Tags: 字符串selfstringdef方式二进制整数binary
1条回答
网友
1楼 · 发布于 2024-09-27 23:21:38

删除与问题无关的类方法内容,如果我这样做:

>>> numbin1 = 0b1000
>>> numbin2 = 0b1010
>>> xornumber = numbin1 ^ numbin2

我明白了

>>> xornumber
2
>>> bin(xornumber)
'0b10'

这是正确的答案。所发生的事情是,您正在使用常量10001010,它们是十进制常量,并且希望Python将它们解释为二进制,因为您正在使用^操作符。像这样:

>>> bin(1000)
'0b1111101000'
>>> bin(1010)
'0b1111110010'
>>> bin(1000 ^ 1010)
'0b11010'

而且0b1101026

要将用户的输入字符串1和0解释为二进制表示的整数,请查阅this answer

相关问题 更多 >

    热门问题