2009-04-27 27 views
7

¿La notación complementaria de dos de un número positivo es la misma que su representación binaria?¿La notación de complemento a dos de un número positivo es el mismo número?

+0

sí primer bit (bit de signo) también se ignora – yesraaj

+0

¿El mismo número de qué? En general, los números positivos son los mismos en el complemento de dos, el complemento de uno o la magnitud de signo, si eso es lo que estás preguntando. –

+0

si todos los números positivos y sus dos complementarios son del mismo número, como 0111 (binario) = 7 = 0111 (7 en complemento de dos). – yesraaj

Respuesta

7

¿La notación de dos complementos de un número positivo es el mismo?

El buen ejemplo es de wiki que la relación de complemento a dos se realiza observando que 256 = 255 + 1, y (255 - x) es el complemento de x los

0000 0111 = 7 complemento a dos es 1111 1001 = -7

la forma en que funciona es el MSB (bit más significativo) recibe un valor negativo por lo que en el caso anterior

-7 = 1001 = -8 + 0+ 0 + 1

Editar- Un número positivo escrito en notación complementaria de dos es el mismo que el número escrito en notación sin firmar (aunque el bit más significativo debe ser cero). Se puede escribir un número negativo en notación complementaria de dos invirtiendo todos los bits de su valor absoluto, y luego agregando uno al resultado. Two's-complement notation

El número máximo que puede ser representado con una notación k bits en complemento a dos es 2^(k-1) -1

+0

El "complemento de dos de un número" y la "notación de complemento de dos" son cosas diferentes. Los números positivos se pueden representar en la notación de complemento a dos. –

+0

se muestra la diferencia – TStamper

0

Esto es cierto. Si no agregamos 1 a la representación numérica negativa, tendremos los valores 0 y -0, lo que es un desperdicio.

+0

que es complemento de uno – yesraaj

+0

complemento 2s tiene 0000 = 0 y 1000 = 0 (1 bit de signo, 3 bits no de signo) –

+1

@Nathan: complemento de 2 no tiene dos representaciones de 0. En el complemento de 2 de 4 bits, el rango es -8 a 7, y el binario 1000 es -8. – indiv

0

No complemento de número positivo de la 2 no es el mismo número, que son no almacenados en forma de complemento a 2 en la memoria. En caso de números positivos se almacenan como están en la memoria, solo en el caso de números negativos la representación está en forma de complemento 2 Los números negativos se almacenan en forma de complemento 2 porque el complemento 2 es bueno para la resta. Ejemplo: 5 + -7 = -2 Aquí -7 se almacena en forma de complemento a 2 (1001). 0101 + 1001 = 1110 Tenga en cuenta que obtenemos automáticamente una respuesta negativa

5

Creo que está confundiendo algo aquí. Los enteros positivos generalmente se almacenan como simples números binarios. 1 es 1, 10 es 2, 11 es 3, etc. Los enteros negativos se almacenan como el complemento a dos de su valor absoluto, es decir, del entero positivo correspondiente. El complemento de dos de un número positivo es, al usar esta notación, un número negativo.

Para voltear el signo de un número, siempre se calcula el complemento a dos de ese número: voltear todos los bits, luego agregar 1. Esto es independiente de si el número original es positivo o negativo.

Ejemplo: la notación binaria con 3 bits de 8 bits es 00000011. Para voltear el signo, primero voltea todos los bits (11111100), luego agrega 1 (11111101). Por lo tanto, -3 es 11111101. Para voltear el signo nuevamente, primero voltea todos los bits (00000010), luego agrega 1 (00000011), y puedes ver que este es el mismo 3.

+0

"La notación del complemento de dos" y "el complemento a dos de un número" son dos cosas diferentes. La pregunta es acerca de la notación del complemento de dos. –

+0

La notación de complemento a dos usa el complemento de dos n bits para voltear el signo. Para números de 8 bits, el número se resta de 2^8 para producir su negativo. – Svante

6

Algunas de las respuestas y comentarios están consiguiendo confundir la relación entre una "notación de complemento de dos" y el "complemento de dos de un número". La pregunta puede necesitar ser aclarada un poco, pero claramente está preguntando sobre la notación del complemento a dos."

La notación de dos complementos incluye números positivos y negativos. Los números binarios pueden significar muchas cosas, por lo que para determinar qué representa un número binario, primero debe saber qué notación o codificación se está utilizando. el número binario podría ser un entero sin signo, un entero complementario de dos, un número de coma flotante IEEE, una cadena de caracteres o algo completamente distinto.

La notación de complemento 7 en dos es 00000111, del mismo modo que un entero sin signo. Y -7 en la notación de complemento a dos es 11111001.

Así que, sí, los enteros positivos en la notación de complemento a dos están representados de la misma manera que son w con enteros sin signo (suponiendo que es un número entero válido para la cantidad de bits que se utilizan).

0

Puede usar this para verificar cómo se representan los números en dos comp.

5

según lo que aprendí en mi clase de ciencias de la computación, el complemento a dos, el complemento a uno y la magnitud con signo son lo mismo solo que en un valor entero positivo. Esto diferirá con los valores enteros negativos, donde para el complemento uno tendrá que voltear los bits y para el complemento de dos manteniendo los bits invertidos y agregar un bit para obtener el bit negativo en su entero absoluto.

Todavía estoy aprendiendo, primer año de informática, espero que haya sido de ayuda.

Cuestiones relacionadas