Red de conocimiento informático - Problemas con los teléfonos móviles - Preguntas sobre programación en Python, búsqueda de código

Preguntas sobre programación en Python, búsqueda de código

Esta es una verificación de paridad del número binario 1011101. El bit más a la derecha es el bit de verificación, que se utiliza para garantizar que el número de unos en el número binario sea un número impar. El método de implementación específico es agregar un dígito de control al número binario para que el número total tenga un número par de dígitos y luego establecer el valor del dígito de control para que el número total tenga un número impar de 1 valores, como En este ejemplo, el dígito de control es 1 porque hay 4 unos en el número.

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):

# Contar el número de unos en binario representación de datos

ones_count = 0

para c en bin(data)[2:]:

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:

return 1

else:

return 0

def add_parity_bits(data):

# Generar bit de paridad para cada byte en datos

parity_bits = [generate_parity_bit(byte) para byte en datos]

# Combina los datos originales y los bits de paridad en un nuevo bytearray

resultado = bytearray ( )

para i en el rango(len(datos)):

result.append(datos[i])

resultado.append(parity_bits[i] )

resultado devuelto

def check_parity_bits(data_with_parity):

# Verifique el bit de paridad para cada byte en data_with_parity

para i en el rango (len(data_with_parity)):

if i % 2 == 0: # Saltar bits de paridad

continuar

byte = data_with_parity[i-1]

bit_paridad = datos_con_paridad[i]

si genera_bit_paridad(byte) != bit_paridad:

devuelve Falso

devuelve Verdadero

Entre ellos, la función generate_parity_bit se usa para calcular el bit de paridad de un byte, la función add_parity_bits se usa para agregar bits de paridad a un fragmento de datos binarios y la función check_parity_bits se usa para verificar un fragmento de datos binarios con bits de paridad. ¿Es correcto?