[Python] Operación de bit y su aplicación

1. Número de máquina, valor de verdad, código original, código invertido, código complementario

https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html

Número de máquina : la representación binaria de un número en una computadora. El número de máquina está firmado. La computadora utiliza el dígito más alto de un número para almacenar el signo. El número positivo es 0 y el número negativo es 1.

Valor verdadero : dado que el primer bit es el bit de signo, el valor formal del número de máquina no es igual al valor verdadero. El valor verdadero correspondiente al número de máquina con el bit de signo se denomina valor verdadero del número de máquina

¿Por qué necesita establecer el código original, el código invertido y el código complementario : para facilitar el bit de signo para participar en la operación

¿Por qué la computadora almacena el código complementario cuando almacena los datos ? Solo hay un sumador en la computadora y solo se puede realizar la operación de adición.

2. ¿Cómo obtener el complemento de números en Python?

  • función bin: devuelve binario con signo negativo en lugar de complemento
>>> bin(10)
'0b1010'
>>> bin(-10)
'-0b1010'
  • Realice la operación AND en el valor para obtener la forma del complemento (8 bits: & 0b11111111, 16 bits: & 0b1111111111111111, ...)
>>> bin(10&0b11111111)
'0b1010'
>>> bin(-10&0b11111111)
'0b11110110'
  • Formato universal
# 获得8位补码
>>> bin(10&int('1'*8,2))
'0b1010'
>>> bin(-10&int('1'*8,2))
'0b11110110'

# 获得32位补码
>>> bin(-10&int('1'*32,2))
'0b11111111111111111111111111110110'
>>> bin(10&int('1'*32,2))
'0b1010'

3. Operación de bits

http://www.361way.com/bitwise-operators/5778.html

Para ser actualizado

Publicado 26 artículos originales · ganó 13 · vistas 7292

Supongo que te gusta

Origin blog.csdn.net/original_recipe/article/details/90259002
Recomendado
Clasificación