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-92
ya 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.