Si, los ordenadores usan números negativos y son binarios ya que es el sistema de numeración que usan.
Se usa el método llamado complemento de dos.
Para empezar hay que definir la longitud en bits que van a tener los números, puede ser cualquiera, pero las más utilizadas son 16 y 32 bits que corresponden a los enteros y los enteros largos de muchos lenguajes de programación.
El bit izquierdo es el del signo, si es 0 el número es positivo y si es 1 es es negativo
Asi por ejemplo con 16 bits los números positivos son los que se obtienen con el primer bit 0 y los otros 15 como se quiera.
El mayor es 1+2+4+8+....+2^(i-1)+...+ 2^14
por la fórmula de la suma de progresiones geométricas esa suma es
2^15 - 1 = 32768 - 1 = 32767
Luego hay 32767 números positivos, luego esta el 0 y el resto son negativos
2^16 - 32768 = 32768
El intervalo de números es [-32768, 32767]
Y los números negativos se asignan de este modo:
Para el número -n escribiremos la representación binaria de n, luego cambiaremos los ceros por unos y los unos por ceros y finalmente le sumaremos uno.
Otra forma de hacerlo más rapido pero con menos entendimiento de porque se hace así es
Cambiar todos de izquierda a derecha salvo el ultimo uno y los ceros que le siguen.
Ejemplos:
El numero 1201
1201 - 1024 = 177
177 - 128 = 49
49 - 32 = 17
17 - 16 = 1
luego 1201 = 1024 + 128 + 32 + 16 + 1=
2^10 + 2^7 + 2^5 + 2^4 +2^0 =
Los unos se ponen de derecha a izquierda siendo el exponente 0 el que corresponde al último lugar.
Haremos las cuentas con el segundo método
1201 = 0000 0100 1011 0001
-1201 = 1111 1011 0100 1111
Hemos cambiado todos hasta el ultimo 1 que se ha dejado igual, y si hubiera habido ceros detrás también se habrían dejado.
Puedes ver que el -1 es el que tiene todo unos
Y el -32768 es 1000 0000 0000 0000
Luego el orden de los números es
El 0,1,2, ..., 32767 y el siguiente es -32768, -33767, -32766, ..., -1
Y esta forma de representar los números negativos tan rara para nosotros, no presenta ningún problema para el ordenador.
Y eso es todo.