Es Todos los 1s y 0s: Cómo los Ordenadores Mapa Físico del Mundo

El número «12» no es el valor 12 en un cartón de huevos. La palabra «roca» no es la roca que encuentras afuera. En cambio, son meros símbolos, creados a partir de una colección de otros símbolos, que representan conceptos específicos que se corresponden bien con el mundo que nos rodea. Son herramientas que nos dan la capacidad de descomponer el mundo, una masa de materia, en trozos manejables. Las usamos, no porque sean objetivamente «verdaderas», sino porque son útiles para alcanzar nuestras metas, dado un conjunto de restricciones físicas.

En esencia, el uso de binarios en computadoras no es más complicado que eso. Solo otro sistema creado por el hombre para lograr algún objetivo con un cierto conjunto de restricciones en mente.

Antes de pensar en cómo las computadoras usan el sistema binario, es útil pensar en por qué usamos el sistema denario. Nuestro objetivo es ser capaces de representar valores numéricos y comunicar esos valores a los demás. Podemos imaginar un sistema en el que tuviéramos un nuevo personaje para cada número imaginable. Por ejemplo, 156 sería en realidad un tipo de línea ondulada con un gancho en la parte superior, que no debe confundirse con el símbolo de 38, que estaría representado por un círculo con una línea en la parte superior. Esa sería la forma más eficiente de representar valores, ya que solo necesitaría un carácter a la vez para representar incluso los números más grandes, en lugar de una cadena de caracteres. Pero no sería lo más práctico. Imagine a una maestra de 1er grado probando a sus estudiantes sobre la diferencia entre el personaje que representa a 1,589 y el personaje que representa a 2,000,478 y todos los personajes intermedios.

Claramente, hay un límite a la cantidad de caracteres que queremos tener disponibles en nuestro sistema de representación. Entonces, ¿qué pasa con el extremo opuesto del espectro: un sistema de conteo con un solo carácter disponible? Claro, eso es posible, ahora muéstrame 2.000.478 usando un sistema base – 1. Evidentemente, esto tampoco es práctico.

De repente, el sistema base-10 tiene sentido no como el único sistema numérico disponible, sino como un buen ajuste dada nuestra necesidad de practicidad, elegancia y eficiencia. Con solo 10 caracteres disponibles, puedo representar el número 2,000,478 fácilmente multiplicando el valor numérico de esa columna por la siguiente potencia de 10, como se muestra a continuación:

  • 2 x 10== 2,000,000
  • 0 x 10== 0
  • 0 x 10 li = 0
  • 0 x 103 = 0
  • 4 x 102 = 400
  • 7 x 101 = 70
  • 8 x 10 = = 8

SUM = 2,000,478

Qué gran sistema de representación de valores. Entonces, ¿por qué las computadoras no usan ese sistema?

De Denary a Binario

las corrientes Eléctricas de cualquier ejecución (abierto/on) o no (cerrada/off) lo que significa que tienen dos valor caracteres disponibles para nosotros: 1 y 0. Dadas esas restricciones, podemos usar el mismo método que usamos para elegir el sistema base-10 para encontrar un sistema de representación que los ordenadores puedan usar.Con solo dos estados disponibles para representar caracteres diferentes, la única alternativa al binario sería un sistema de conteo. Pero para representar el valor 255 en un sistema de conteo necesitaríamos 255 dígitos. Eso es 255 transistores «on» para representar un número relativamente pequeño. Binario solo necesita 8 para lograr el mismo objetivo.

Así es como binario hace eso.

Un sistema base 2 funciona de manera similar al sistema base-10, pero en lugar de multiplicar el valor de cada columna por el siguiente múltiplo de 2, se multiplican por el siguiente múltiplo de 2. Por ejemplo, el número binario 10100 se puede traducir a un número base 10 simplemente agregando los valores calculados a continuación:

  • 1 x 2 = = 16
  • 0 x 23 = 0
  • 1 x 22 = 4
  • 0 x 21 = 0
  • 0 x 2 = = 0

De Bits a Bytes

Desde aquí, podemos empezar a construir una convención sobre cómo usar este sistema numérico para mapear el mundo que nos rodea en pulsos eléctricos de encendido y apagado. Primero, pongamos un nombre a nuestros caracteres: Dígitos binarios o Bits para abreviar, la unidad más pequeña de datos en una computadora.

A continuación determinaremos cuántos bits se necesitarán para representar un valor no numérico, como una letra o un carácter especial. Este proceso es tan artificial como el proceso de elegir un sistema numérico para representar el valor. Tenemos ciertos objetivos, ciertas herramientas preestablecidas y un deseo general de elegancia y eficiencia. Hay 101 caracteres en un teclado, lo que significa que necesitaremos representar 101 en binario como el valor máximo. Resulta que 101 en base-10 es el número 01100101 en binario. Es un requisito de referencia de 7 transistores disponibles si queremos asignar cada clave a un valor numérico específico. Pero, ¿y si hay otros personajes que queremos representar? Con 7, todo activado, solo representamos hasta el número 127 en base-10. Bien podría darnos un poco más para trabajar.

Y por lo tanto, tenemos bytes, la unidad de referencia para medir datos, que se dice que representa como mínimo un solo carácter. Ahora podemos representar los valores de 0-255 (00000000-1111111).

Como las computadoras solo pueden entender números, se estableció el Código Estándar Americano para el Intercambio de Información (ASCII) para asignar a cada carácter en el teclado un valor numérico específico como se muestra a continuación:

Como ejemplo, así es como representaría la frase «Hello World!»en binario:

  • Texto: Hello World!
  • Números ASCII: 072 101 108 108 111 032 087 111 114 108 100 033
  • Binario: 00110000 00110111 00110010 00100000 00110001 00110000 00110001 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00111000 00100000 00110001 00110001 00110001 00100000 00110000 00110011 00110010 00100000 00110000 00111000 00110111 00100000 00110001 00110001 00110001 00100000 00110001 00110001 00110100 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00110000 00100000 00110000 00110011 00110011

Como el texto, las imágenes también deben ser convertidos en binario. Podemos representar imágenes en binario dividiendo una imagen en una cuadrícula de píxeles y desglosando el color de cada píxel en una combinación de 3 colores (rojo, verde y azul), normalmente denominados valores RGB de píxeles. El valor máximo que cada uno de esos colores puede tener individualmente es de 255 y el mínimo es 0, lo que significa que cada valor de colores para cada píxel puede representarse mediante 1 byte para un total de 3 bytes por píxel.

Como ejemplo, podemos representar el tono del píxel verde que se muestra arriba en la ubicación (1,0) en RGB y binario a continuación:

  • Valores RGB: (6, 250, 7)
  • Binario: 00000110, 11111010, 00000111

Por último, también podemos representar datos de sonido en binario utilizando «muestreo». Al graficar las ondas de sonido de un sonido grabado y anotar los valores de las alturas de las ondas a intervalos regulares, podemos convertir esos valores en binarios y luego recrear esa onda de sonido utilizando esos valores binarios en un momento posterior.

Por ejemplo, la onda de sonido de arriba tiene un valor decimal de 8 en el intervalo de tiempo 1, dándole un valor de byte de 00001000.

De Binario a Lógico

Hay muchas formas diferentes de almacenar datos binarios, incluidas tarjetas perforadas, cinta magnetizada, discos ópticos, etc. Todos usan esta convención de representar valores en un sistema base-2. Sin embargo, representar el mundo en binario es solo la mitad de la batalla. La otra mitad está operando en él. Introduzca operadores de bits.

Los operadores a bits operan en bits individuales y son las operaciones aritméticas fundamentales que utiliza una CPU. Cada operador bit a bit tiene un conjunto de reglas predeterminadas que producen una salida determinada dadas dos entradas.

bit a Bit los operadores y sus correspondientes salidas

Usted puede reconocer estas herramientas que son parte de un sistema que hemos estado usando mucho tiempo antes de que la electricidad era aún descubierto: la lógica. Si bien un operador de bits puede parecer extraño, se derivan de operadores lógicos y, al igual que los sistemas numéricos, usamos operadores lógicos como operadores de bits porque sirven a nuestros propósitos de manera eficiente y elegante dadas nuestras restricciones físicas actuales.

Nuestro objetivo es tomar dos valores diferentes representados por dos caracteres posibles para producir un nuevo valor de acuerdo con un conjunto de reglas deterministas. Puede ver cómo nuestro sistema de lógica proposicional se traduce bien en lógica computacional a continuación:

Piense en el operador AND en el contexto de esta oración: «Bob almorzó y Bob fue al cine.»Si la primera declaración es verdadera y la segunda es falsa, entonces la oración es falsa.

T & F = F

Pero si la primera afirmación es verdadera y la segunda afirmación es verdadera, entonces la afirmación es verdadera.

T & T = T

¿Qué acerca de la O el operador: «Bob comió el almuerzo o Bob fue al cine». Si la primera declaración es verdadera y la segunda es falsa, la oración sigue siendo verdadera.

T v F = T

Pero si ambos son falsos, la oración es falsa.

F v F = F

Ahora reemplace las T y las F con 1 y 0 y tenemos los bloques de construcción para manipular binarios para crear nuevas cadenas de binarios y, por lo tanto, nuevas representaciones de valores. Usamos estos operadores bit a bit en puertas lógicas, interruptores electrónicos que usan esta lógica para producir nuevos valores. Imagine el siguiente escenario:

Necesita encender el LED inferior derecho en una calculadora para comenzar a mostrar los números 0, 1, 3, 4, 5, 6, 7, 8, y 9, pero no el número 2. Eso significa que los números binarios 00, 01, 100, 101 110, 111, y 1001, pero no 10, necesita producir una sola señal de ENCENDIDO (1). Para convertir esas señales eléctricas en una única señal de ENCENDIDO para ese LED, podemos encadenar puertas 3 o lógicas y una puerta NO lógica para garantizar que esos valores den como resultado un 1 o un 0. A continuación, puede ver un ejemplo del número 7 representado en binario (1110) que resulta en una única señal de ENCENDIDO, lo que resulta en la iluminación LED inferior derecha hacia arriba.

Quantum Computing

The only exception to this rule of representing the world in 1’s and 0’s in computers lies in Quantum computing.

Quantum computing attempts to use the «spooky” nature of sub-atomic particles to represent represent data. Se ha demostrado que los fotones, por ejemplo, exhiben un comportamiento aparentemente contradictorio, representando múltiples estados a la vez. El comportamiento de varios estados nos da valores adicionales con los que jugar, además del típico encendido/apagado que generalmente obtenemos con las señales eléctricas. En lugar de usar un bit para almacenar datos, las computadoras cuánticas usan qubits, que pueden ser 1 o 0 o ambos al mismo tiempo.



Deja una respuesta

Tu dirección de correo electrónico no será publicada.