No las distingue. Pero con el complemento, el cálculo es el mismo:
A continuación, d
se anexará a los números decimales, y b
en números binarios. Los cómputos estarán en enteros de 8 bits.
-1d + 1d = 1111 1111b + 1b = 1 0000 0000b
Pero ya que desbordaba (sí, eso es 8 0
s y un 1
en un 8 bits enteros), el resultado es igual a 0.
-2d + 1d = 1111 1110b + 1b = 1111 1111b = -1d
-1d + 2d = 1111 1111b + 10b = 1 0000 0001b (this overflows) = 1b = 1d
-1d + -1d = 1111 1111b + 1111 1111b = 1 1111 1110b (this overflows) = 1111 1110b = -2d
Y si se tiene en cuenta estas operaciones en signo (valores binarios será sin cambios):
255d + 1d = 1111 1111b + 1b = 1 0000 0000b (this overflows) = 0d
254d + 1d = 1111 1110b + 1b = 1111 1111b = 255d
255d + 2d = 1111 1111b + 10b = 1 0000 0001b (this overflows) = 1b = 1d
255d + 255d = 1111 1111b + 1111 1111b = 1 1111 1110b (this overflows) = 1111 1110b = 2d
sin signo frente firmado es, pues, sólo una representación visual de sin signo, solo se usa cuando se muestra a un humano :-)
vea http://en.wikipedia.org/wiki/Signedness y http://en.wikipedia.org/wiki/Signed_number_representations – mtijn
No pregunto cómo el número firmado representado en la computadora – viperchaos
leyó el ¿campo de golf? se publicaron porque son relevantes para su pregunta – mtijn