如何在python中获取整数的符号位?

Pra*_*dav 7 python

我希望能够在python中访问数字的符号位.我可以像n >> 31在C中那样做,因为int表示为32位.

我无法使用条件运算符和> <.

Jea*_*bre 7

在python 3中,整数没有固定的大小,并且没有使用内部CPU表示来表示(它允许处理非常大的数字而没有麻烦).

所以最好的方法是

signbit = 1 if n < 0 else 0
Run Code Online (Sandbox Code Playgroud)

要么

signbit = int(n < 0)
Run Code Online (Sandbox Code Playgroud)

编辑:如果你不能使用<>(这是可笑的,但也是如此)你可以使用这个事实,a-b如果a大于b,那么你可以做

abs(a-b) == a-b
Run Code Online (Sandbox Code Playgroud)

不使用<>(至少在文本中,因为abs使用它你可以信任我)