Pregunta

Yo estaba leyendo un poco de montaje tutorial en el que no se explicaron los enteros con signo y los enteros sin signo y la diferencia entre su representación en la memoria del ordenador.

Recuerdo algo así como que había algo poco al principio en el número de lo que dice si el entero es firmada o no.

Si alguien lo sabe, por favor responda.

¿Fue útil?

Solución

la página de Wikipedia sobre Firmado representación Número muestra la mayoría de las implementaciones de memoria común de ambos con y sin signo valores enteros.

Complemento a dos es la representación más común.

Otros consejos

Hay muchas posibles representaciones de números con signo, el más común es complemento a dos.

El MSB no determina si es o no está firmado el número; en números con signo que representa si el número es negativo. En números sin signo es sólo el MSB. Es el programa que determina si se considera un número con o sin signo.

he he. pregunta capciosa. firmados y enteros sin signo se representan exactamente el mismo. mirando recuerdo que nunca será capaz de distinguirlos. se trata de una cuestión de principio de Von Neumann. Entonces, ¿dónde está la diferencia? La diferencia está en la forma en que se interpretan. Si la variable está firmado comandos del compilador para usos enteros con signo. Además, si se sabe que el número se firmó su primer poco nos dice que es signo. la conversión se realiza como (sintaxis c) ~i + 1 en ambos sentidos

Hay muchas representaciones posibles, cada uno dependiendo de su organización de ordenador. Las más famosas son

En ambas representaciones, puede probar el primer bit (el más significativo) para averiguar si el número es positivo (por lo general fuera) o negativo (poco). Es decir, si usted trata el número como firmado . Si usted le dice al compilador para tratar los números como sin signo, el bit de signo se utiliza como datos (que duplica el máximo rango para el tipo de datos).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top