¿Cómo identificar el código de autocomplementación?

0

Teniendo en cuenta que parte de una serie de códigos auto-complementarios se ve así:

Base 6   | Code
---------+-------
0        | 000
1        | 
2        | 010
3        |
4        | 110
5        | 

Se supone que debo completar el código que representará los 6 dígitos de la Base a la izquierda. ¿Cómo debo hacer para hacer eso? Para empezar, ¿cómo es que 4 es 110?

Además, me preguntan qué códigos no se utilizan. isit 6 & 7?

* Lo siento si me he equivocado de etiquetas

    
pregunta Jiew Meng

2 respuestas

4

Creo que la tabla sería así:

Base 6   | Code
---------+-------
0        | 000       (0+0+0)
1        | 001       (0+0+1)
2        | 010       (0+2+0)
3        | 101       (2+0+1)
4        | 110       (2+2+0)
5        | 111       (2+2+1)

La ponderación para cada uno de los bits es 2, 2, 1 (vea la suma entre paréntesis para saber cómo se calcula cada valor)
En el código binario "normal", la ponderación es 1, 2, 4, 8, 16, 32, etc. Por ejemplo, 4 es 100 (4 * 1) + (2 * 0) + (1 * 0)
Como se puede ver, la inversión de los bits convierte n en 5-n.
por ejemplo,
4 = 110 - > 5-4 = 001 (110, que es 4, cuando se invierte a 001 que es 5-4 = 1)
3 = 101 - > 5-3 = 010 (101, que es 3, cuando se invierte a 010 que es 5-3 = 2)

Aquí hay un útil documento (consulte la página 13) Otro aquí

EDITAR (más información) - Un código de auto-complementación es uno en el que los bits se pueden invertir (complemento de 1) para producir el complemento de la base del número 1. Por lo general, este sería el complemento decimal de los 9, pero su ejemplo anterior es la base 6, por lo que toma el complemento a los 5 (por ejemplo, 6-1). Los pesos de un código de auto-complementación deben sumar hasta la base-1 (por ejemplo, 2 + 2 + 1 = 5) porque 0 siempre está representado por todos los bits en 0 (por ejemplo, 000 en su ejemplo), y n-1 necesita complementar esto (por ejemplo, 5 = 111 en tu ejemplo)
Sabiendo lo anterior, es simplemente una cuestión de probar diferentes ponderaciones para ver qué encaja con la información inicial. Si sabemos que 010 es 2, entonces el peso de los bits medios debe ser 2. Usando esta información, procedemos a 110, y ahora sabemos que el peso de los terceros bits debe ser 2 para formar 4. Esto solo deja el primer bit, que debe tener un el valor de 1 se adhiere a los pesos que se suman a la base-1 (p. ej., 5) indicado anteriormente (también puede descubrirlo al tomar el complemento de 1 del código de 4 (110) para producir el código de (5-4 = 1 ) 001)

    
respondido por el Oli Glaser
3

Note que en la base 6, 5 es el complemento de 0; en la base \ $ N \ $ los complementos suman hasta \ $ N-1 \ $. Así que supongo que el código para 5 tendrá los bits para el código 0 complementados, y así sucesivamente. No parece haber una razón específica por la que el código para 4 sea 110, pero debería poder llenar los huecos independientemente.

(No quiero darte la solución completa porque se parece a la tarea).

    
respondido por el stevenvh

Lea otras preguntas en las etiquetas