Aritmética de la computadora La operación interna de una computadora se basa en la
aritmética binaria, en la que la base es el 2 y sólo hay dos símbolos: 0 y 1, pues la memoria de la máquina consiste en un vasto número de dispositivos de registro magnético y electrónico, cada uno de los cuales sólo puede presentar uno de dos posibles estados: magnetizado en un sentido, representando al cero, o magnetizado en el otro sentido, representando al uno. Cada dispositivo magnético es un dígito binario, denominado bit (abreviatura de "binary digit"). Los bits se agrupan en unidades llamadas palabras, las cuales pueden contener 8, 16, 32 o 64 bits, dependiendo de la computadora de que se trate (los tamaños de palabra más usuales son los de 16 o de 32 bits). También se utilizan otras unidades denominadas bytes, constituidos generalmente por 8 bits, y utilizados como particiones de palabras, para representar caracteres. Así, por ejemplo, una palabra de 32 bits consta de 4 bytes. La manera en que se usan los bits para registrar los números enteros y los números fraccionarios varía en función del diseño de la computadora. Los números enteros en computadora Los números enteros requieren de al menos una palabra para almacenarse dentro de la memoria de la computadora; si el tamaño de palabra de la computadora es de 2 bytes (16 bits), el primer bit registra el signo: positivo si es 0, negativo si es 1, y los 15 bits restantes se usan para registrar números enteros binarios en el rango de 000000000000000 a 111111111111111. Al convertir el número binario 111111111111111 a sistema decimal, se obtienen las cotas inferior y superior en sistema decimal: 214 + 213 + 212 + 211 + 210 + 29 + 28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 = 215 - 1 = 32767 Conforme a esto, el mayor entero positivo posible sería el 32767 y el menor entero negativo posible sería el -32767; pero la mayoría de las computadoras usan el complemento a dos para almacenar los números negativos, lo cual consiste en cambiar la interpretación de la polaridad en los dispositivos magnéticos e incrementar en 1 el resultado obtenido; esto hace que su rango se incremente en 1, para que sea -32768. 00000000000000002 = 0 10000000000000002 = -3276810 Los números enteros en computadora Los números positivos se registran así: 00000000000000012 = 110 ... 01111111111111112 = 3276710 Para los números negativos, la polaridad se invierte: los ceros se cambian por unos y los unos por ceros y se le añade un 1 al resultado, de manera que su registro se hace así: 11111111111111112 = -110 ... 10000000000000012 = -3276710 Entonces, el rango de almacenamiento de números enteros decimales, en máquinas con palabras de memoria de 16 bits es: (-32,768, 32,767), valores más que suficientes para lo que requiere un ingeniero. Si el tamaño de palabra de la computadora es de 4 bytes (32 bits), el campo correspondiente es conocido como entero largo, pues el rango se incrementa sustancialmente: (-2147,483,648, 2147,483,647), obtenido de 231 1, con complemento a dos.