¿Qué es Bit Stuffing?

El relleno de bits, a veces denominado justificación positiva, es el proceso de agregar información adicional que no es de datos en una cadena de datos de computadora, generalmente para garantizar que los datos se lean correctamente cuando la computadora los recibe. Los datos informáticos se componen de bits de información en forma de unos y ceros. Para señalar el comienzo y el final de un fragmento de datos, se utiliza un código. Cuando la información real que se transmite puede confundirse con este código e ignorarse, se insertan bits adicionales, como ceros, en el código para que la computadora sepa qué datos procesar.

También conocido como relleno de bits, el relleno de bits ayuda a prevenir errores cuando una computadora recibe información. Los bits no representan ninguna información real y una vez que se transmiten todos los datos, la computadora borra o ignora los bits innecesarios. Si, por ejemplo, la señal para el comienzo de una línea de código fuera de cinco unos seguidos y los datos reales que se envían comenzaran con cinco unos, la computadora pensaría que esta era la señal de inicio y la eliminaría. Para evitar esto, se inserta un bit cero entre el cuarto y el quinto 1 para que se lea como «1» en lugar de «1». Luego, la computadora eliminaría el cero y leería los datos como cinco en lugar de eliminarlos.

Otro uso del relleno de bits es completar una cadena de datos que requiere una cierta cantidad de bits para transmitirse correctamente. Es posible que una cadena de información deba tener al menos 10 bits de longitud, pero solo nueve. En esta situación, se agregaría un bit adicional para llevar el total a 10. El bit adicional se descartará cuando se interpreten los datos.

Además de ayudar a la computadora a interpretar correctamente los fragmentos de datos, el relleno de bits también se utiliza para ayudar a la sincronización de la computadora. Una computadora envía y recibe información a un ritmo constante según su reloj interno. Si se envían muchos de los mismos bits (una línea de ceros, por ejemplo) a la vez, es posible que el reloj de la computadora no esté sincronizado y ejecute los comandos en el orden incorrecto. Insertar un 0 en la línea de 1 obliga al reloj de la computadora a volver a sincronizarse y evita este problema.

Similar a ayudar a una computadora a mantenerse sincronizada, el relleno de bits también ayuda a la computadora a leer los datos correctamente cuando la información se envía en bits en lugar de como un flujo continuo. Para engañar a la computadora para que vea la transmisión como continua, se generan bits aleatorios y se envían a la computadora mientras espera que se transmita la siguiente porción real de información. Esto mantiene el patrón de transmisión a un ritmo constante.

La computadora sabe eliminar los bits que no son de datos de los flujos de datos una vez que se reciben. Los programadores de computadoras necesitan saber qué bits deben rellenar para que la computadora los elimine en lugar de leerlos como datos reales. Si la computadora intentara interpretar estos bits rellenos en lugar de descartarlos, causaría errores de computadora en el programa.