Complemento de dos máximo y mínimo

0

Si tenemos una secuencia binaria que tiene \ $ x \ $ bits de longitud, ¿cuáles son el mínimo y el máximo que se pueden representar en forma de complemento a dos?

El máximo es \ $ 2 ^ {x-1} -1 \ $, y el mínimo es \ $ - 2 ^ {x-1} \ $.

Pero ¿por qué? ¿Cómo se puede demostrar que este es el caso?

    
pregunta Tron

4 respuestas

1

Mira la representación de 3 bits:

000 = 0
001 = 1
010 = 2
011 = 3
100 = -4
101 = -3
110 = -2
111 = -1

La mitad de los números comienzan con '1', que es el bit de signo. Así que la mitad de los números son negativos. Significa que tenemos \ $ (2 ^ x) / 2 = 2 ^ {(x-1)} \ $ números negativos. El resto son positivos y cero.

    
respondido por el Eugene Sh.
0

Para x bits, hay 2 valores x .

En el sistema del complemento, hay dos ceros y 2 x-1 : 1 positivo y el mismo número de valores negativos.

En el sistema complementario de dos, estos se asignan de modo que solo hay un cero y un valor negativo más que valores positivos.

El sistema de complemento de los dos está en uso, debido a que el hardware simple funciona de forma natural. Piense, por ejemplo, en el odómetro de su automóvil, que ha restablecido a cero. Luego ponga la marcha atrás y conduzca hacia atrás durante 1 milla (por favor, no haga esto en realidad). Su odómetro (si es mecánico) rodará de 0000 a 9999. El sistema de complemento de los dos se comporta de manera similar.

Editar: Agregué la imagen para cosechar una cantidad asombrosa de puntos de esta pregunta

    
respondido por el PkP
0

Para una secuencia binaria de X bits, hay 2 ^ x valores posibles.

Usando enteros sin signo para representarlos, tienes el conjunto de 0, 1, ... (2 ^ x) -1. Si uno quisiera cambiar efectivamente los valores hacia abajo para tener mitad negativo y mitad positivo, restaría 2 ^ (x-1) (que es la mitad del rango) de cada valor, lo que le da 0 - 2 ^ (x-1) , ...., (2 ^ x) -1 - (2 ^ (x-1)).

Reorganizando el último término en 2 ^ x- 2 ^ (x-1) - 1 y reconociendo que y ^ x - y ^ (x-1) = y ^ (x-1), entonces tienes tu rango , - (2 ^ (x-1)) ... 2 ^ (x-1) -1.

Esto se hace en la implementación negando el MSB, que en virtud de su valor de posición es la mitad del rango.

    
respondido por el Jotorious
0

En complemento de dos, el bit más significativo (más a la izquierda) está reservado para el signo del número, por lo que es x-1. La razón por la que es \ $ 2 ^ {x-1} -1 \ $ para números positivos es que uno de estos se usa para cero, mientras que en los números negativos, comenzamos en -1.

    
respondido por el kypalmer

Lea otras preguntas en las etiquetas