¿Cuáles son las reglas de representación para códigos primos, códigos inversos y códigos complementarios?
Los números se dividen en números con signo y números sin signo.
El código original, el código inverso y el código complementario son representaciones de números de punto fijo con signo.
El bit más alto de un número de punto fijo con signo es el bit de signo; 0 representa un número positivo y 1 representa un número negativo.
Los siguientes son ejemplos de enteros de 8 bits.
El código original es la forma binaria del número mismo.
Por ejemplo
0000001
Eso es +1
1000001
Eso es -1
El inverso y el complemento de números positivos son los mismos que el código original.
El recíproco de un número negativo es el recíproco de todos los números del número original excepto el signo
[-3]inverse=[10000011]inverse=1111111100
Para números negativos El complemento es el recíproco de todos los dígitos del número original excepto el signo, luego se suma 1 al último dígito
[-3]complement=[10000011]complement=1111111101 p>
[-3]complemento=[10000011]complemento=1111111101
[-3]complemento=[10000011]complemento=11111101
[-3]complemento=[ 10000011]complement=1111111101 11111101
Un número y su complemento son invertibles.
¿Por qué hay un complemento?
La primera razón es permitir que las computadoras realicen operaciones de resta:
Complemento [a-b] = complemento a + complemento (-b)
La segunda la razón es unificar el 0 positivo y el 0 negativo
0 positivo: 00000000
0 negativo: 10000000
Estos dos números en realidad son 0, pero sus códigos originales tienen diferentes representaciones.
Pero sus complementos son iguales, ambos 00000000
Atención especial, si hay redondeo después de +1, ¡debe ir hasta el final, incluido el bit de signo! (¡Esto es diferente del código inverso!)
[10000000]código de complemento
=[10000000]inverso+1
=11111111+1
=(1)00000000
=000000 (el bit más alto se desborda y el bit de signo se vuelve 0)
Algunas personas pueden preguntar
¿Qué número ¿El complemento representa el código 10000000?
De hecho, según las reglas, este número representa -128
Entonces el rango de números que se pueden representar mediante el complemento de n es:
-2 ^(n- 1) a 2^(n-1)-1
Un número original de más de n dígitos
Otro ejemplo:
1011
Número original: 01011
Número inverso: 01011
Número original: 01011
Número inverso: 0101101011
// Para número positivo, número inverso = número original
Código de complemento: 01011
// Para número positivo, número complemento = número original
-1011
Número original: 11011
Número inverso: 10100
// Para números negativos, el número inverso es el recíproco del número original
: 10100
/ / Para números negativos, lo inverso: 101011