O que é o Bit Stuffing?
O preenchimento de bits, ocasionalmente chamado de justificativa positiva, é o processo de adicionar informações extras que não são de dados a uma seqüência de dados do computador, normalmente para garantir que os dados sejam lidos corretamente quando o computador os receber. Os dados do computador são constituídos por bits de informação na forma de 1 e 0. Para sinalizar o início e o fim de um bloco de dados, um código é usado. Quando as informações reais transmitidas podem ser confundidas para esse código e ignoradas, bits extras, como zeros, são inseridos no código para que o computador saiba quais dados processar.
Também conhecido como preenchimento de bits, o preenchimento de bits ajuda a evitar erros quando um computador recebe informações. Os bits não representam nenhuma informação real e, depois que todos os dados são transmitidos, o computador exclui ou ignora os bits desnecessários. Se, por exemplo, o sinal para o início de uma linha de código fosse cinco 1s seguidos e os dados reais enviados fossem iniciados com cinco 1s, o computador pensaria que esse era o sinal inicial e o excluiria. Para evitar isso, um bit zero seria inserido entre o quarto e o quinto 1, para que fosse lido como "111101" em vez de "11111". O computador excluiria o zero e leria os dados como cinco, em vez de excluí-lo.
Outro uso para o preenchimento de bits é preencher uma sequência de dados que requer um certo número de bits para transmitir corretamente. Uma cadeia de informações pode precisar ter pelo menos 10 bits, mas ter apenas nove presentes. Nessa situação, um bit extra seria adicionado para elevar o total para 10. O bit extra será descartado quando os dados forem interpretados.
Além de ajudar o computador a interpretar os pedaços de dados corretamente, o preenchimento de bits também é usado para ajudar na sincronização do computador. Um computador envia e recebe informações em um ritmo constante, com base em seu relógio interno. Se muitos dos mesmos bits - uma linha de todos os 0s, por exemplo - forem enviados de uma só vez, o relógio do computador poderá ficar fora de sincronia e executar os comandos na ordem errada. Inserir um 1 na linha dos zeros força o relógio do computador a se sincronizar novamente e evita esse problema.
Semelhante a ajudar um computador a ficar sincronizado, o preenchimento de bits também ajuda o computador a ler os dados corretamente quando as informações são enviadas em bits, e não como um fluxo contínuo. Para induzir o computador a ver a transmissão como contínua, bits aleatórios são gerados e enviados ao computador enquanto aguarda a transmissão da próxima porção de informações real. Isso mantém o padrão de transmissão em um ritmo consistente.
O computador sabe remover bits que não são de dados dos fluxos de dados assim que são recebidos. Os programadores de computador precisam saber quais bits colocar para que o computador os remova em vez de lê-los como dados reais. Se o computador tentasse interpretar esses bits empalhados em vez de descartá-los, isso causaria erros no programa.