En matemáticas , la codificación negafibonacci es un código universal que codifica números enteros distintos de cero en palabras binarias. Es similar a la codificación Fibonacci , con la diferencia de que permite representar tanto números enteros positivos como negativos. Todos los códigos terminan en "11" y no tienen ningún "11" antes del final.
Método de codificación
Los siguientes pasos describen cómo codificar un número entero distinto de cero.. Tenga en cuenta quedenota la secuencia de negafibonacci.
- Sies positivo, calcula el mayor entero negativo imparde tal manera que la suma de los términos negativos impares de la secuencia de negafibonacci de −1 acon un paso de −2, es mayor o igual que: SiSi es negativo, calcula el mayor entero negativo par.de tal manera que la suma de los términos pares negativos de la secuencia de negafibonacci de 0 acon un paso de −2, es menor o igual que:
- Agregue un 1 en elbit de la palabra binaria. Restarde.
- Repita el proceso desde el paso 1 con el nuevo valor de x , hasta que llegue a 0.
- Para finalizar la codificación, añade un 1 a la izquierda de la palabra binaria resultante.
Para decodificar una palabra binaria codificada, elimine el 1 situado más a la izquierda de la palabra binaria, ya que solo se utiliza para indicar el final del número codificado. A continuación, asigne a los bits restantes los valores de la secuencia de Negafibonacci desde −1 (1, −1, 2, −3, 5, −8, 13...) y sume todos los valores asociados a un 1.
Representación de Negafibonacci
La codificación negafibonacci está estrechamente relacionada con la representación negafibonacci , un sistema de numeración posicional que a veces utilizan los matemáticos. El código negafibonacci de un entero distinto de cero es exactamente igual a su representación negafibonacci, salvo que el orden de sus dígitos está invertido y se le añade un "1" al final. El código negafibonacci de todos los números negativos tiene un número impar de dígitos, mientras que el de todos los números positivos tiene un número par.
Mesa
El código para los números enteros desde -11 hasta 11 se muestra a continuación.
Véase también
Referencias
Obras citadas
- Knuth, Donald (2008). Números de Negafibonacci y el plano hiperbólico . Reunión anual de la Asociación Matemática de América. San José, California.
- Knuth, Donald (2009). El arte de la programación informática , Volumen 4, Fascículo 1: Trucos y técnicas bit a bit; Diagramas de decisión binaria . Addison-Wesley. ISBN 978-0-321-58050-4.En el borrador previo a la publicación de la sección 7.1.3, véanse en particular las páginas 36-39.
- Margenstern, Maurice (2008). Autómatas celulares en espacios hiperbólicos . Avances en computación no convencional y autómatas celulares. Vol. 2. Archives contemporaines. p. 79. ISBN 9782914610834.
- Sistemas de numeración posicional no estándar
- Algoritmos de compresión sin pérdidas
- Números de Fibonacci
- Compresión de datos