Número mínimo de bits para representar el número negativo
-
28-09-2020 - |
Pregunta
Número mínimo de bits requeridos para representar $ (+ 32) _ {base10} $ y $ (- 32) _ {base10} $ en el formulario de cumplido firmado de dos?
Mi intento:
32= 0100000 (1er cero - bit de signos como positivo)
para representar +32 necesitamos 7 bits
-32= 1100000 (1er bit 1 - Signo de signos como negativo)
para representar a -32 necesitamos 7 bits
Pero la respuesta se da como 6 bits para almacenar -32 y 7 bits para almacenar +32 (CASO POSITIVO, entendí, negativo en mi opinión, debería ser de 7 bits). Su razón, uno de 1 bit, suficiente para representar un número negativo. Estoy confundido. Por favor, aclare aquí
También tengo preguntas siguientes: -
¿Podemos decir que el número de bits necesarios para representar un número negativo es estrictamente menor que (o menos de igual a) número requerido para representar ese número positivo correspondiente?
¿Cómo podemos generalizar el número mínimo de bits necesarios para representar un número positivo y negativo dado, DIGA + N y -N en la representación de magnitud firmada, firmó la notación de complemento de 1 y firmó la notación de los dos de los dos.
Solución
Las representaciones de los números como los binarios de complemento de Dos de 6 bits son \ comienzan {align} + 32_ {10} &= 10 _ 0000_2 \\ -32_ {10} &=Overline {10 \, 0000} _2 + 1_2 \\ &= 01 \, 1111_2 + 1_2 \\ &= 10 \, 0000_2 \ End {align} Lo que daría la misma representación para ambos números. Eso significa que no puede usar números de 6 bits para representar ambos valores usando el complemento de dos.
para binarios de 7 bits que funciona, sin embargo: \ comienzan {align} + 32_ {10} &= 010 \, 0000_2 \\ -32_ {10} &=Overline {010 \, 0000} _2 + 1_2 \\ &= 101 \, 1111_2 + 1_2 \\ &= 110 \, 0000_2 \ End {align} Como puede ver, el bit más significativo representa el signo del número.
Otra perspectiva sobre su pregunta: ¿Cuál es el número negativo positivo / más pequeño que puede almacenar en un $ n $ -bit two complemento binario? Luego, la respuesta es $ 2 ^ {(n-1)} - 1 $ para el más grande positivo y $ - 2 ^ { (N-1)} $ para el número negativo más pequeño.
Eso significa que un binario de 6 bits puede contener valores $ - 32, \ ldots, 31 $ y un valores binarios de 7 bits $ - 64, \ LDOTS, 63 $ . El número $ - 32 $ luego encaja en el rango de binarios de 6 bits, mientras que $ + 32 $ no lo hace Necesitarías un poco más para este último.
Otros consejos
There are 65 values x with -32 <= x <= +32. You cannot represent 65 values in 6 bits. Either you misread the question, or the answer 6 is wrong.