如何使用Python进行二进制数值的转换与操作?
Python中可以使用内置函数bin()、int()和位运算符进行二进制数值的转换与操作。
- 十进制转二进制
使用bin()函数可以将十进制数值转换为二进制数值,返回的结果是一个字符类型的字符串。
例如,将数字10转换为二进制数值:
>>> bin(10) '0b1010'
结果中的“0b”表示二进制数值的前缀,实际的二进制数值是“1010”。
- 二进制转十进制
使用int()函数可以将二进制数值转换为十进制数值,需要指定第二个参数为2。
例如,将字符串“1010”转换为十进制数值:
>>> int('1010', 2) 10
- 位运算符
Python中提供了多种位运算符,可以对二进制数值进行位移、位与、位或、位异或、位取反等操作。
其中,&表示位与运算,|表示位或运算,^表示位异或运算,~表示位取反运算。
例如,将两个二进制数值进行位与运算:
>>> bin(0b1010 & 0b1100) '0b1000'
结果为“0b1000”,即二进制数值“1000”。
再例如,将两个二进制数值进行位异或运算:
>>> bin(0b1010 ^ 0b1100) '0b1110'
结果为“0b1110”,即二进制数值“1110”。
- 字符串操作
对于字符串的二进制操作,可以先将字符串转换为二进制数值,进行操作后再转换为字符串。例如:
>>> s = 'pidancode.com' >>> b = ''.join(format(ord(i), '08b') for i in s) >>> b '0111000001101001011011000110000101110010011011000110000101101110011101000110111101100111001000000110001001101111011100100110110001100100' >>> int(b, 2) 61498153971557885338523003936214185172
其中,将字符串s中的每个字符的ASCII码转换为8位二进制数值,并使用join()方法拼接在一起,得到二进制字符串。
最后使用int()函数将二进制字符串转换为十进制数值。
相关文章