¿Por qué el PC funciona en binario y no en decimal o hexadecimal?

¿Por qué el PC funciona en binario y no en decimal o hexadecimal?

Rodrigo Alonso

Los humanos hemos crecido contando del uno al 10, en sistema decimal, y sin embargo todos sabemos que los PC actuales funcionan en sistema binario pero, ¿sabes por qué esto es así? ¿Por qué no se utiliza el sistema decimal o incluso el hexadecimal en su lugar? En este artículo te lo explicamos todo.

Todos los principales sistemas de numeración que utilizamos son «posicionales», en el sentido de que el valor del número está determinado por el lugar en el que está puesto. Llamamos a esto el valor del lugar (unidades, decenas, centenas…) y ayuda a determinar la magnitud del número. Por ejemplo, el sistema decimal que es con el que todos estamos más familiarizados indica cuánto vale un «2» por la posición en la que está, ya que no es lo mismo 2 que 20 que 200.

El valor de los números

Números romanos

Pero no siempre ha sido así. Esta forma de representar los valores es relativamente moderna, y requiere el uso de ceros como marcadores de posición. Es por eso que los sistemas numéricos más antiguos como los números romanos o los jeroglíficos egipcios no utilizan este valor posicional, sino que sumamos todos dígitos para obtener el valor total.

Usando este concepto básico de valor posicional, hemos creado diferentes sistemas de numeración o formas de escribir los números. Éstos se nombran por el número de incrementos por lugar, es decir, cuántas veces se puede aumentar el valor de un solo lugar antes de tener que «moverlo» al siguiente. Por ejemplo, en base decimal podemos incrementar el lugar de las unidades nueve veces con 10 dígitos diferentes (contando el cero) antes de pasar de unidades a decenas.

Pero los números, sea la base que utilicemos, no solamente se pueden utilizar para representar cifras, sino también otro tipo de datos e incluso convertirse en significantes para instrucciones. El código en binario es la forma más eficiente de almacenar datos que puede procesar un sistema digital como con los procesadores modernos. Ya que es mucho más fácil construir una CPU digital que una analógica, en especial por ser más fácil predecir su funcionamiento. En un procesador analógico un simple cambio podría variar y cambiar el significado del programa, por eso las CPU, GPU y demás procesadores son digitales.

Por qué los PC utilizan sistema binario

Cuando éramos niños, nos enseñaron a contar con los dedos de las manos: diez dedos, diez números. Para contar más de diez, mantenías cerrado un dedo mientras contabas con los demás, y esta es la base 10 o sistema decimal, el sistema que utilizamos a diario para prácticamente todo.

Sin embargo, los PC no pueden utilizar la base 10, ya que el hardware que necesitaríamos para ello sería terriblemente complejo debido, ya que representar un solo número necesitaríamos una enorme cantidad de transistores. Por este motivo, los PC utilizan el sistema binario (o base dos) que solo tiene dos valores (unos y ceros) para representar los números al ser la forma más económica que tenemos , ya que como sabéis los procesadores se fabrican con transistores en su interior que no son sino pequeños interruptores que dejan pasar o no dejan pasar la electricidad, representando con ello los unos y los ceros respectivamente.

En otras palabras, los PC no son capaces de contar en decimal o hexadecimal, ya que sus circuitos solo pueden representar dos estados: encendido y apagado, ON y OFF, unos y ceros. Por lo tanto, lo más natural es que su «idioma» sea el binario, compuesto de unos y ceros, y literalmente cada bit de datos que gestiona un PC no es sino una cadena de unos y ceros.

Unidades de cálculo decimal

IBM System/360

Por contradictorio que parezca durante un tiempo existieron unidades de cálculo decimal y muchos de los primeros ordenadores de la historia, aquellos tan grandes como una habitación, operaban con decimales en vez de hacerlo con un sistema binario. El primer ordenador que trabajó con un sistema binario fue el IBM System/360 con el que unificaron todos sus ordenadores bajo un mismo sistema de representación de los datos: el sistema binario.

A partir de ese momento y durante un largo tiempo, los nuevos ordenadores integraron una unidad de conversión de binario a decimal, la cual también se pudo ver en las primeras CPU, pero dada la estandarización del sistema de numeración binaría esta unidad desapareció por completo. Aunque a día de hoy es una pieza de hardware tan simple que no es que haya sido eliminada, pero sí que ocupa una parte muy minúscula del procesador.

El uso del sistema hexadecimal para los mapas de memoria

Cifras hexadecimal

En los mapas de memoria veréis que se utiliza el método hexadecimal para representar los datos. Dicho método se basa en utilizar 16 significantes que van del 0 al 9 y de la A a la F. Se utiliza como un medio para representar valores binarios para que los entiendan los humanos: un único valor posicional en hexadecimal representa cuatro bits de memoria, dos lugares son ocho bits o un byte.

Es por eso que verás que se usa hexadecimal para representar el valor de los registros de memoria, ya que es más fácil de leer que grandes cadenas de unos y ceros, pero en el fondo siguen siendo datos binarios.

Ciertamente, lo más conveniente sería que pudiéramos utilizar un sistema de numeración unificado para todo, pero desafortunadamente cada sistema de numeración tiene su propio propósito, por lo que estamos condenados a utilizar más de uno y en el caso de los ordenadores, éste es el binario.

Es mucho más fácil construir una ALU en binario

1 bit ALU

El motivo por el cual los ordenadores trabajan en binario, es por el hecho que a la hora de construir una unidad de ejecución que pueda sumar o multiplicar números es mucho más fácil hacerlo de manera binaría que con una base más compleja.

A partir de una ALU de 1 bit podemos crear ALUs mucho más complejas, que puedan operar con precisiones más altas. Se ha de aclarar que una precisión más alta no significa utilizar un número base mayor. La otra razón es el hecho que es posible codificar la información en binario fácilmente, no hay que olvidar que el primer sistema de comunicación masivo a distancia, el telégrafo, era un sistema binario.

2 Comentarios