Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,如何将任意长度的位序列强制转换为有符号或无符号整数?_Python_Integer_Bit_Unsigned_Signed - Fatal编程技术网

在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
十进制数,因此添加前导
-
字符似乎是对任意长度序列执行此操作的一种方法。