Saltar al contenido

¿Cómo saber si un número entero binario representa un número negativo?

Hola usuario de nuestro sitio, descubrimos la solución a tu pregunta, desplázate y la verás a continuación.

Solución:

Depende de la representación, por supuesto. En el complemento a dos, que se usa mucho, simplemente se mira el bit más significativo.

Por ejemplo, el (número) -92 tiene la forma binaria: 10100100 (en una representación de bytes de 8 bits). Pero si nos dan 10100100, ¿podemos decir que es -92 y no otro número no negativo?

No, necesitará saber de antemano si se usó una representación/convención firmada o no firmada, e incluso si sabe que está firmada, también necesitará saber la codificación utilizada para almacenar el número.

Si el entero de 8 bits (es decir, un byte) está firmado, según Tom y 32bitkid, los enteros firmados generalmente se almacenan en complemento a 2, donde el bit más significativo (MSB) determinará si un número es negativo o no.

por ejemplo, en su ejemplo, el byte 10100100 podría representar el byte firmado-92ya que:

MSB : 1 means negative
Other 7 Bits 0100100 
Flip and add 1 => 1011011 + 1 = 1011100
From powers of two, right to left : 
0*2^0 + 0*2^1 + 1*2^2 + 1*2^3 + 1*2^4 + 0*2^5 + 1*2^6
= 4 + 8 + 16 + 64 
= 92 (and thus -92 because of the MSB)

O si el valor es un byte sin firmarentonces el MSB solo se trata como la siguiente potencia de 2, al igual que todos los bits inferiores

es decir 10100100 podría representar:

4 + 32 + 128 
= 164

(de nuevo, potencias de dos, de derecha a izquierda, y omitiendo el 0 potencias de dos)

La decisión de si un número entero debe estar firmado o no, y la cantidad de bits necesarios, generalmente está determinada por el rango de valores que necesita almacenar en él. Por ejemplo, un entero de 32 bits con signo puede representar el rango:

–2147483648 to 2147483647

Mientras que un entero de 32 bits sin signo puede representar números de

0 to 4294967295

Quieres leer sobre los números en complemento a dos. En resumen, el bit más significativo puede usarse para determinar si el número es negativo.

Releí tu pregunta y dijiste que ya entiendes el complemento a dos. Cuando se trata de números negativos, se debe conocer el número de bits para determinar si el número es negativo o no. Un número negativo debe tener un signo extendido al número requerido de bits. Su ejemplo de -92 cuando se almacena en 32 bits sería 11111111111111111111111110100100.

Tienes la opción de favorecer nuestro análisis añadiendo un comentario o dejando una valoración te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *