接受用户的输入,分为以下所示的列表;
input=addi $sp, $sp, –20'
registers=['$sp', '$sp', '–20']
然后将其转换为-20
的二进制文件
x=int(registers[2])
def dec2bin(x):
n= int(x)
m = n + 1 if n < 0 else n
bitlen = 1 + m.bit_length()
mask = (1 << bitlen) - 1
return '{0:0{1}b}'.format(n & mask, 16)
代码正在使用addi $sp, $sp, 20
,但由于某种原因它无法将-20
转换为整数并给出错误为
ValueError:以10为底的int()无效文字:'– 20'
答案 0 :(得分:1)
有几个类似的破折号,例如-,-,-。整数解析器通常希望您使用的是-
,即ASCII连字符减号。
您可以使用正确的减号替换字符串中的错误破折号
replace('–', '-')