¿Qué queremos decir cuando decimos que las computadoras usan ceros y unos?

Para comprender completamente la idea detrás de las computadoras, primero se necesita una comprensión básica de la electrónica. ¡Y realmente quiero decir básico!
Considere el más básico de los circuitos: una resistencia conectada a una batería de CC:

¿En cuántos estados puede estar este circuito?

Dos, por supuesto: ON u OFF. Convencionalmente, el estado ON de un circuito está representado por un 1 (corriente que pasa a través del circuito), o un 0 (sin corriente que pasa).

Este circuito también es la representación de la forma más simple de memoria: puede almacenar un bit de información, ya sea 0 o 1, dependiendo del flujo de corriente.


Ahora hagamos las cosas más interesantes. ¿Qué sucede si tenemos 2 de estos circuitos en una mesa? ¿Cómo podemos combinar sus posibles estados en representaciones matemáticas útiles?

Si tenemos 2 circuitos como el anterior, hay 4 formas posibles de representar el estado de nuestro sistema, ¿verdad?
El | ON ON | ON OFF | OFF ON | OFF ON | 2 ^ 2 = 4 estados

¿Qué hay de 3 circuitos?
El | ON ON ON | ON OFF ON | ON ON OFF | OFF ON ON | OFF OFF ON | OFF ON OFF | ON OFF OFF | OFF OFF OFF | = 2 ^ 3 = 8 estados

¿Qué pasa si tenemos 8 circuitos? 2 ^ 8 = 256 estados
¿Qué hay de 32 circuitos? 2 ^ 32 = 4294967296


¿Adviertes a dónde voy con esto? ¿Cómo podemos usar X cantidad de circuitos que pueden estar ENCENDIDOS o APAGADOS para representar números?

Por supuesto, no sería práctico usar interruptores electromecánicos para construir una computadora como la que probablemente esté leyendo. Afortunadamente esto ha sido inventado:

¡El buen transistor en sí mismo! Si tiene curiosidad acerca de la física detrás del transistor, léalo, pero todo lo que necesita entender es que un transistor es una forma infinitamente mejor de representar el estado de un circuito. Si pasa corriente, su estado puede leerse como 1, de lo contrario 0.

Un gran ejército de estos pequeños bastardos componen su procesador y solía representar números (datos) en su computadora. De aquí en adelante son solo matemáticas.

Espero que esto aclare un poco las cosas.

===

Edición 1: gramática, estilo.

Por lo general, significa que no entendemos las computadoras.

Seriamente.

Si desea ver por qué es confuso, no busque más que el interruptor de encendido de su computadora. ¿Ves ese símbolo de tridente de aspecto divertido? ¿Alguna vez te has preguntado qué significa?

Eso es un 1 superpuesto a un 0.

¿Por qué?

De vuelta en las primeras PC de IBM, había un interruptor basculante grande y torpe etiquetado como:

1 – Encendido
0 – Desactivado

Con el tiempo, los interruptores se hicieron más pequeños y eventualmente se convirtieron en botones, lo que significa que toda esa palabrería no tenía sentido, por lo que obtuvimos el símbolo que todo el mundo sabe pero nadie entiende.

Eso es casi todo lo que necesita saber sobre esta pregunta: los informáticos son un poco estúpidos, o al menos vagos.

Pero eso no es satisfactorio, sospecho.

El interruptor representa dos estados, encendido y apagado. Los botones hacen lo mismo, excepto que el estado es invisible para el observador casual, por lo que necesitamos luces indicadoras para informarnos sobre el interruptor interno.

Pero es más penetrante que esto. Si se encoge dentro de la computadora, los microchips tienen transistores en ellos, que son (por favor, no le digan a ningún ingeniero eléctrico que dije esto) como pequeños interruptores. Permiten el encendido (encendido) o no (apagado), y están dispuestos a hacer el trabajo de procesamiento de datos. Antes de que los transistores estuvieran ampliamente disponibles, utilizamos relés con el mismo propósito, interruptores para guardar un estado, de la misma manera que su interruptor de luz “recuerda” que deseaba encender las luces.

Cuando hablamos de los datos que se procesan, queremos leer los estados de activación / desactivación de los transistores (más o menos; estoy simplificando aquí, pero si desea ver cómo funciona la memoria de la computadora, esperaré aquí), queremos algo más compacto que “encendido, encendido, apagado, encendido, encendido, apagado, apagado, apagado”. Tecleo y cometí alrededor de media docena de errores al escribir eso, incluso sin un valor específico en mente, si quieres entender por qué eso no iba a volar. Por lo tanto, en realidad los escribimos como ceros y unos, como 11011000 .

Pero incluso eso es un poco tedioso, por lo que podríamos agrupar los bits (dígitos binarios) en grupos de tres, que son números octales (base-8), 330 en este caso. Eso es confuso, por lo que es más probable que usemos números hexadecimales (base-16), que equivalen a cuatro bits, D8 aquí.

Usar potencias de dos es útil, porque significa (si estamos en una computadora primitiva donde esto es viable) que podemos ver las señales en las líneas de un grupo. Por lo tanto, las representaciones anteriores son útiles, mientras que 216 (la representación decimal) no sería de mucha utilidad para la persona que trata con la computadora.

Pero para volver al punto, la computadora en sí misma no usa nada más que estados de encendido y apagado, que interpretamos como ceros y unos, dígitos hexadecimales, números, caracteres (letras, dígitos, símbolos y espacios), instrucciones y cualquier cantidad de otras cosas. Sin embargo, la computadora no tiene idea de esta interpretación.

Bueno, puede argumentar que las instrucciones se entienden realmente, ya que los estados de encendido / apagado en realidad obligan a una decisión de qué hacer a continuación. Pero definitivamente no el resto.

Muy buenas respuestas ya aquí. Para intentar agregar un poco más a lo que ya se dijo:

Una computadora usa la misma idea (es decir, muchas señales de encendido / apagado) para almacenar / producir resultados. Por lo tanto, una computadora “piensa” en ON u OFF, solo usamos la representación de 1 para su ON y 0 para su OFF …

En su mayoría, hace todas estas cosas “ingeniosas” a través de matemáticas muy simplistas, utilizando solo números. Sin embargo, utiliza los números de una manera diferente que usted o yo. Tendemos a pensar en los números como 0, 1, 2, 3, … 9, 10, etc. Una computadora no tiene ese privilegio, solo puede “pensar” en 0 y 1. Pero eso todavía significa que puede hacer el las mismas matemáticas que podemos con nuestros 10 (u otros) dígitos. La razón es que de la misma manera que decidimos usar otro dígito, la computadora “decide” usar más. Es decir, ¿qué pasa después de las 9? 10 por supuesto, solo estamos repitiendo un patrón, ¿no?

Esto se conoce como la base del sistema de números que utilizamos. Por ejemplo, lo que usan los humanos es la base 10 (o decimal) y lo que la computadora usa es binario (o base 2). Entonces, cuando una computadora cuenta, cuenta así:
0 => 0
1 => 1
2 => 10
3 => 11
4 => 100
5 => 101

9 => 1001
10 => 1010
11 => 1011
etc.

También hay otras formas, a veces las usamos para que coincida con el método de la computadora con un poco más de precisión. Por ejemplo, podríamos contar en hexadecimal: base 16 en lugar de la base habitual 10. En este caso, tenemos 6 glifos adicionales para agregar a los posibles dígitos. Usualmente usamos estos (también podríamos ir con base 8 octal, o lo que elijamos) porque coinciden con las potencias de 2 que usa un sistema binario, es decir, la base 16 cae exactamente en las potencias de dos (omitiendo algunas, pero nunca caer en algo que no es una potencia de 2 como lo hace el sistema de base 10). La mayor bendición sobre esto es que la cantidad de dígitos requeridos en hexadecimal es proporcional a la cantidad de dígitos en el contenedor (en este caso, cada dígito en hexadecimal se asigna a 4 dígitos en el contenedor, mucho más fácil de convertir a / desde). Si usamos hexadecimal (base 16) contaríamos así:
Dec => Hex => Bin

9 => 9 => 1001
10 => A => 1010
11 => B => 1011

15 => F => 1111
16 => 10 => 10000
17 => 11 => 10001

31 => 1F => 11111
32 => 20 => 100000
33 => 21 => 100001

A partir de esto, todas las formas de matemáticas se realizan de la misma manera que aprendiste matemáticas. Por ejemplo, sumar 2 números:

  __dec => hex => bin
    25 19 11001
 + 16 10 10000
 ----------------------
    31 29 01001
 + 10 100000 (llevar)
 ----------------------
    41 29 101001 

El mismo tipo de cosas se aplica a todas las matemáticas, multiplicación, división, resta, etc. Y a partir de eso también se extiende a otras cosas como raíces, exponentes, trigonometría, etc.

Ahora, todo lo demás que muestra la computadora son formas diferentes de representar esos números. Por ejemplo, el texto en esta página es solo un grupo de números, cada uno con una “comprensión” específica en el sentido de que un número específico representa un carácter específico. Uno de los principales métodos de codificación de letras es la secuencia ASCII (códigos de caracteres ASCII y conversión de gráficos html, octal, hexadecimal y decimal). En eso, la letra A recibe el número 65 (en decimal), por lo tanto 41 (hexadecimal) y 1000001 (bin).

Pero por lo general, dichos números deben dividirse, de lo contrario no sabemos dónde comienza uno y dónde se detiene otro: las computadoras ni siquiera tienen el privilegio de usar espacios. Para evitar esto, la computadora usa grupos de dígitos binarios. Por lo general, en grupos de 8 (llamados Bytes) ya que esto es en sí mismo una potencia de 2 y proporciona una cantidad razonablemente decente de posibles caracteres (256 posibilidades). Si el número es bajo, entonces la parte superior se llena con ceros. Entonces, en realidad, una A se guardaría en una computadora como 01000001, rellenando el primer dígito no necesario con un 0. También hay otras formas, por ejemplo, UTF8 básicamente dice: “Si el primer bit es un 1, hay otros 8 dígitos después de esto uno, que luego extiende el código para incluir aún más posibilidades “.

Y, por último, cosas como gráficos / imágenes / 3d / sonido / etc. también se codifican al dar a cada variante un número diferente para mostrar. Por ejemplo, los colores que se muestran en esta pantalla están formados por pequeños puntos, cada uno con un color específico (generalmente codificado en algo como RGB – Rojo / Verde / Azul como un número de 0 a (digamos) 255 para cada uno).

Se vuelve aún más importante cuando comenzamos a mirar las acciones que puede hacer una computadora. Estos también son solo “números” codificados para significar diferentes “cosas tienen que suceder”. Por ejemplo, la CPU de la computadora puede tener un conjunto de instrucciones (es decir, un eco de varias acciones posibles) en el que una de ellas es la instrucción para sumar números, otra para restar, otra para cambiarlos de 1s a 0s y viceversa, etc. En esto consiste el “software”: las señales de encendido / apagado que vemos como análogas a 1 y 0, en patrones que se adaptan a las acciones que el software necesita que tome la CPU.

Pero dado que todo comienza desde ese encendido / apagado, que se interpreta como 1 o 0 … una computadora solo está usando 1s y 0s. Simplemente lo hace mirando los patrones de 1s y 0s que se siguen. El patrón es lo que le da al “significado” 1 y 0, por sí solos tienen un significado muy limitado.

Las computadoras leen términos binarios simples como encendido / apagado, significados por un 1 o 0 respectivamente.

El código binario es un lenguaje escrito en secuencias de 7 unos y ceros.

Cualquier combinación si esto puede crear una ruta de información rastreable en la codificación.

Están literalmente en interruptores de apagado colocados en cierto código.

Muchas respuestas geniales aquí. También agregaría a la discusión que el uso de ceros / unos y encendido / apagado significa que estamos usando algo que se considera discreto en lugar de continuo . Básicamente, la idea es que hay estados distintos que se cuantifican, mientras que si tienes algo continuo, es algo que no se divide en paquetes (por decirlo de manera semi-abstracta). Sin embargo, no estoy hablando de física teórica, ¡donde a veces las cosas que son discretas también son continuas! jeje. ¡Entonces se vuelve realmente complicado! Cuando pienso en cosas que son discretas, pienso en computadoras o interruptores de luz. Están prendidos o apagados. Cuando trato de imaginar algo continuo pienso en las temperaturas. Pienso en las temperaturas, porque no puedes saltear una temperatura e ir a otra. Tienes que pasar por todas las temperaturas intermedias para llegar a la siguiente.

La única razón por la que menciono todo esto es porque hay áreas completas de estudio sobre matemática discreta y computación que son un poco diferentes a las ideas continuas. Entonces, esta no es exactamente una respuesta específica a su pregunta, porque la mayor parte de eso fue cubierta por todos, pero pensé que era importante agregarla en caso de que esté interesado en las matemáticas o las computadoras.

Ver :

  • código binario
  • ASCII
  • Punto flotante
  • Código de disco compacto óptico

Cómo se almacenan los datos en un CD o DVD

Al nivel más bajo posible en el área de ingeniería informática, pero no tan bajo como para pertenecer a la electrónica o la física, la computadora comprende solo dos estados que los humanos llaman 0 y 1.

Queremos decir que las computadoras son confiables, rápidas y precisas, pero lo básico detrás de esta gran potencia computacional es solo ceros y unos.

La computadora como máquina no conoce otra cosa que cero y uno.

Los ceros y unos simplemente se atribuyen a los voltajes utilizados en los circuitos de una computadora digital donde Uno es el voltaje más alto y Cero el más bajo.

código binario, supongo.