在Python中,如何将任意长度的位序列强制转换为有符号或无符号整数?
我需要将任意长度的位序列转换为有符号或无符号整数。这些序列表示为字符串。例如,我必须将在Python中,如何将任意长度的位序列强制转换为有符号或无符号整数?,python,integer,bit,unsigned,signed,Python,Integer,Bit,Unsigned,Signed,我需要将任意长度的位序列转换为有符号或无符号整数。这些序列表示为字符串。例如,我必须将'00110011010010111001010'转换为无符号整数,将'10000000'转换为有符号整数 我使用了int('10000000',2),但是我还没有找到一种直观的方法来在有符号/无符号之间切换。在Python中有没有一种直接的方法可以做到这一点?你找到了什么非直观的方法?@martineau可能直觉不是正确的词,但我使用了库位字符串。在Python中,难道没有一种简单的方法可以做到这一点吗?在没
'00110011010010111001010'
转换为无符号整数,将'10000000'
转换为有符号整数
我使用了
int('10000000',2)
,但是我还没有找到一种直观的方法来在有符号/无符号之间切换。在Python中有没有一种直接的方法可以做到这一点?你找到了什么非直观的方法?@martineau可能直觉不是正确的词,但我使用了库位字符串。在Python中,难道没有一种简单的方法可以做到这一点吗?在没有严格的变量大小(以字节为单位)的情况下,您打算如何识别有符号的数字0b10000000
是-128
如果它是一个字节变量,而128
是2个以上字节。整数值中的第一位定义符号(0
-正,1
-负)。int('-10000000',2)
将为您提供-128
十进制,因此添加一个前导-
字符似乎是对任意长度序列执行此操作的一种方法。您发现了什么非直观的方法?@martineau可能不是正确的单词,但我使用了库位字符串。在Python中,难道没有一种简单的方法可以做到这一点吗?在没有严格的变量大小(以字节为单位)的情况下,您打算如何识别有符号的数字0b10000000
是-128
如果它是一个字节变量,而128
是2个以上字节。整数值中的第一位定义符号(0
-正数,1
-负数)。int('-10000000',2)
将给出-128
十进制数,因此添加前导-
字符似乎是对任意长度序列执行此操作的一种方法。