La CPU “sabe” que está utilizando una representación entera negativa específica porque ese “conocimiento” está integrado en las instrucciones que tratan con estos valores (es decir, las instrucciones de suma, las instrucciones de resta, etc.). Más específicamente, está integrado en el hardware (o en algunos casos, está integrado en el microcódigo) que implementa las instrucciones específicas que podrían tener que tratar con enteros negativos.
La mayoría de las CPU convencionales modernas están diseñadas para usar la representación del complemento de dos para valores enteros negativos, pero durante mi larga carrera, me he encontrado con algunas CPU y dispositivos de E / S que han utilizado el complemento de uno (junto con bytes de 6 bits, 60 bits palabras y otras cosas ahora consideradas rarezas). En una CPU microcodificada, donde conjuntos de microinstrucciones de muy bajo nivel implementan las instrucciones de la CPU que los desarrolladores verían, es posible configurar las instrucciones de la CPU para usar una representación negativa diferente (por ejemplo, el complemento de uno) cambiando el microcódigo.
El compilador y / o ensamblador que está utilizando necesita tener el conocimiento de la representación entera negativa utilizada en la CPU de destino, de modo que cuando utiliza una constante como -42, la representación correcta de ese valor negativo se codifica correctamente.
- Si se demuestra P = NP, ¿cómo cambiará el campo de la inteligencia artificial?
- He reprobado mucho un título de CS, pero la gran emoción de diseñar un algoritmo innovador todavía está en mí, ¿qué debo hacer?
- ¿Cuáles son las formas o tipos de problemas en los que XOR es útil?
- ¿Existe una función que defina la relación entre el dígito inicial de un entero y el número de términos cuando se agrega infinitamente?
- ¿Cuál es el límite y cómo puedo probar: [math] \ lim_ {n \ rightarrow \ infty} {n ^ dn ^ c} [/ math] cuando [math] 0 \ leq c <d [/ math]?
Para los valores de punto flotante, si tiene una FPU (unidad de punto flotante), el hecho de que esté utilizando la representación IEEE 754 o alguna otra representación también se integra en las instrucciones de punto flotante del hardware (o en el microcódigo que implementa esos instrucciones). Si no tiene una FPU (por ejemplo, en los días del Intel i386, en un microcontrolador moderno que no tiene soporte de punto flotante de hardware, etc.), y el punto flotante está completamente implementado en el software, entonces cualquier representación podría ser elegido, teóricamente