> unary | marcas de contagem | simples <
// Codificação unária, a forma mais simples de representar inteiros com marcas de contagem
Código mais simples
A forma mais básica de codificação, apenas contando marcas.
Representação visual
Visualização clara baseada em marcas de contagem.
Várias variantes
Códigos unários padrão, invertidos e truncados.
>> informações técnicas
Como funciona a codificação unária:
Na codificação unária, um inteiro n é representado por n símbolos idênticos seguidos de um terminador. No unário padrão usam-se n uns seguidos de um zero. No unário invertido usam-se n zeros seguidos de um um. No unário truncado o terminador é omitido para o último valor de um intervalo conhecido.
Variantes de Unary:
Unário padrão: 0 → 0 1 → 10 3 → 1110 5 → 111110 Unário invertido: 0 → 1 1 → 01 3 → 0001 5 → 000001 Truncado intervalo 0–3: 0 → vazio 1 → 1 2 → 11 3 → 111
Por que usar codificação unária:
- >Bloco de construção para outros códigos
- >Parte do quociente em códigos de Golomb e Rice
- >Prefixo em códigos de Elias
- >Muito fácil de implementar
- >Útil para ensino de algoritmos de compressão
>> perguntas frequentes
O que é codificação unária?
A codificação unária é o código de comprimento variável mais simples. Um inteiro n é representado como n repetições de um símbolo normalmente 1 seguidas de outro símbolo normalmente 0 que atua como terminador. É semelhante a usar marcas de contagem em forma binária.
Quando o código unário é eficiente?
O código unário só é eficiente para inteiros muito pequenos ou distribuições muito enviesadas em que a maioria dos valores é 0 ou 1. Ele usa n mais 1 bits para o inteiro n, o que o torna pouco eficiente para valores grandes. É usado principalmente como componente de outros códigos.
O que é unário truncado?
O unário truncado é usado quando o intervalo de valores é conhecido. O valor máximo não precisa de terminador, pois o comprimento do código já o identifica de forma exclusiva. Isso economiza um bit para o valor máximo do intervalo.
Onde a codificação unária é usada?
A codificação unária raramente é usada sozinha, mas é um componente chave dos códigos de Golomb e Rice para quocientes, dos códigos Elias Gamma e Delta para comprimentos e de muitos outros códigos de comprimento variável. Ela é fundamental em vários algoritmos de compressão.