Python:右移>>26

2024-04-20 13:44:21 发布

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

0010 1101 1011 0100 0111 1100 1000 0101

我想26号右转,但失败了

^{pr2}$

调试错误是SyntaxError:invalid token

返回应该是10126右移

这个怎么样?在

0010 1101 1011 0100 0111 1100 1000 0101

Shift 0010 1101 1011 0100 0111 1100 1000 0101>;22返回10110110 用00001111返回0110是否可以转换为十进制6?在

用00001111?如何使用00001111?在


Tags: gttokenshift错误invalidpr2syntaxerror右转
3条回答

bin返回字符串,它是字符串的二进制表示形式。在

print (0b00101101101101000111110010000101 >> 26)

我想应该行得通。在

您看到的语法错误是因为在python3.x中,整型文本不能以0开头——在python2.x中,这意味着您想要声明一个八进制文本。在

例如(python2.x):

^{pr2}$

您使用bin()是错误的。The documentation states

Convert an integer number to a binary string.

既然那不是你想要的,那就错了。您试图右移字符串,这是不可能的。在

你的意思是:

print(0b00101101101101000111110010000101 >> 26)

或者,如果您希望答案是二进制字符串:

^{pr2}$

这里,前缀0b在Python中用于二进制数文本。在

  • 在二进制数前面加上0b以向Python表明它是一个二进制数。在
  • 首先右移,然后将其转换为二进制。在

试试这个:

print(bin(0b00101101101101000111110010000101 >> 26))

编辑:输出:

^{pr2}$

相关问题 更多 >