Red de conocimiento informático - Problemas con los teléfonos móviles - Programación Python clásica HD

Programación Python clásica HD

Esta es una verificación de paridad del número binario 101101, en la que el bit más a la derecha es el bit de paridad para garantizar que el número de unos en el número binario sea un número impar. La implementación específica es agregar un dígito de control al número binario para hacer que el número total * * * sea un número par, y luego establecer el valor del dígito de control para que el número total * * * sea un número impar de 1. Por ejemplo, El dígito de control en este ejemplo es 1, porque este número tiene cuatro unos.

Cabe señalar que esta verificación de paridad solo puede detectar un número par de errores en el número binario. Si ocurre un número impar de errores, no se puede detectar. Al mismo tiempo, este método de verificación no puede corregir errores, solo puede detectar la existencia de errores.

El siguiente es un ejemplo de código de generación y verificación de código de paridad implementada en Python:

def generate_parity_bit(data):

#Calcular la representación binaria de datos Número de 1

ones_count = 0

Para c (datos) [2:] en bin:

ones_count += int(c)

#Si hay un número impar de unos, el bit de paridad es 0

#De lo contrario, el bit de paridad es 1

Si ones_count % 2 == 0:

Devuelve 1

De lo contrario:

Devuelve 0

def add_parity_bits(data):

# está en los datos Genera bits de paridad para cada byte

Bits de paridad = [bits de paridad (bytes) de los bytes en los datos generados]

# Combina los datos originales y los bits de paridad se combinan en uno nuevo matriz de bytes

resultado = bytearray()

Para I(len(data)) en el rango:

resultado .append(data[i])

result.append(bit de paridad[i])

Repite el resultado

def check_parity_bits(paridad de datos):

#Check el bit de paridad de cada byte en data_with_parity

Para I(len(data _ with _ parity)) en el rango:

Si i % 2 == 0: #Saltar bit de paridad

Continuar

byte = datos _ con _ paridad[I-1]

Bit de paridad = datos con bit de paridad [i]

si genera_paridad_bit(byte)! = Bit de paridad:

Devuelve falso

Devuelve verdadero

Entre ellos, la función generate_parity_bit se usa para calcular la paridad de un byte y la función add_parity_bits es Se utiliza para proporcionar un dato binario más paridad. La función check_parity_bits se utiliza para comprobar si un dato binario con paridad es correcto.