El bit es la unidad de información más básica en informática y comunicación digital . El nombre es un acrónimo de dígito binario . [1] El bit representa un estado lógico con uno de dos valores posibles . Estos valores se representan más comúnmente como " 1 " o " 0 " , pero también se utilizan ampliamente otras representaciones como verdadero / falso , sí / no , activado / desactivado o +/− .
La relación entre estos valores y los estados físicos del almacenamiento o dispositivo subyacente es una cuestión de convención y se pueden utilizar diferentes asignaciones incluso dentro del mismo dispositivo o programa . Puede implementarse físicamente con un dispositivo de dos estados.
Un grupo contiguo de dígitos binarios se denomina comúnmente cadena de bits , vector de bits o matriz de bits unidimensional (o multidimensional) . Un grupo de ocho bits se denomina byte , pero históricamente el tamaño del byte no está estrictamente definido. [2] Con frecuencia, las palabras medias, completas, dobles y cuádruples constan de un número de bytes que es una potencia baja de dos. Una cadena de cuatro bits suele ser un mordisco .
En teoría de la información , un bit es la entropía de información de una variable binaria aleatoria que es 0 o 1 con igual probabilidad, [3] o la información que se obtiene cuando se conoce el valor de dicha variable. [4] [5] Como unidad de información , el bit también se conoce como Shannon , [6] que lleva el nombre de Claude E. Shannon .
El símbolo del dígito binario es "bit", según el estándar IEC 80000-13 :2008, o el carácter minúsculo "b", según el estándar IEEE 1541-2002 . El uso de este último puede crear confusión con la "B" mayúscula, que es el símbolo estándar internacional para el byte.
La codificación de datos mediante bits discretos se utilizó en las tarjetas perforadas inventadas por Basile Bouchon y Jean-Baptiste Falcon (1732), desarrolladas por Joseph Marie Jacquard (1804), y adoptadas más tarde por Semyon Korsakov , Charles Babbage , Herman Hollerith y los primeros fabricantes de ordenadores como IBM . Una variante de esa idea fue la cinta de papel perforada . En todos esos sistemas, el medio (tarjeta o cinta) conceptualmente llevaba una serie de posiciones de agujeros; cada posición podría perforarse o no, transportando así un bit de información. La codificación de texto por bits también se utilizó en el código Morse (1844) y en las primeras máquinas de comunicaciones digitales, como los teletipos y las máquinas de teletipo (1870).
Ralph Hartley sugirió el uso de una medida logarítmica de información en 1928. [7] Claude E. Shannon utilizó por primera vez la palabra "bit" en su artículo fundamental de 1948 " Una teoría matemática de la comunicación ". [8] [9] [10] Atribuyó su origen a John W. Tukey , quien había escrito un memorando de Bell Labs el 9 de enero de 1947 en el que contraía "dígito de información binaria" para simplemente "bit". [8]
Un bit puede ser almacenado por un dispositivo digital u otro sistema físico que exista en cualquiera de dos posibles estados distintos . Estos pueden ser los dos estados estables de un flip-flop , dos posiciones de un interruptor eléctrico , dos niveles distintos de voltaje o corriente permitidos por un circuito , dos niveles distintos de intensidad de luz , dos direcciones de magnetización o polarización , la orientación de dobles reversibles. ADN trenzado , etc.
Los bits se pueden implementar de varias formas. En la mayoría de los dispositivos informáticos modernos, un bit suele estar representado por un voltaje eléctrico o un pulso de corriente , o por el estado eléctrico de un circuito biestable.
Para dispositivos que usan lógica positiva , un valor de dígito de 1 (o un valor lógico de verdadero) está representado por un voltaje más positivo en relación con la representación de 0 . Diferentes familias lógicas requieren diferentes voltajes y se permiten variaciones para tener en cuenta el envejecimiento de los componentes y la inmunidad al ruido. Por ejemplo, en lógica transistor-transistor (TTL) y circuitos compatibles, los valores de dígitos 0 y 1 en la salida de un dispositivo están representados por no más de 0,4 voltios ni menos de 2,6 voltios, respectivamente; mientras que las entradas TTL están especificadas para reconocer 0,8 voltios o menos como 0 y 2,2 voltios o más como 1 .
Los bits se transmiten uno a la vez en la transmisión en serie y mediante un número múltiple de bits en la transmisión en paralelo . Una operación bit a bit procesa opcionalmente los bits uno a la vez. Las velocidades de transferencia de datos generalmente se miden en múltiplos SI decimales de la unidad bit por segundo (bit/s), como kbit/s.
En los primeros dispositivos no electrónicos de procesamiento de información, como el telar de Jacquard o la máquina analítica de Babbage , un bit a menudo se almacenaba como la posición de una palanca o engranaje mecánico, o la presencia o ausencia de un agujero en un punto específico de una tarjeta de papel. o cinta . Los primeros dispositivos eléctricos para lógica discreta (como los circuitos de control de ascensores y semáforos , interruptores telefónicos y la computadora de Konrad Zuse) representaban bits como los estados de relés eléctricos que podían estar "abiertos" o "cerrados". Cuando los relés fueron reemplazados por tubos de vacío , a partir de la década de 1940, los fabricantes de computadoras experimentaron con una variedad de métodos de almacenamiento, como pulsos de presión que viajaban a lo largo de una línea de retardo de mercurio , cargas almacenadas en la superficie interior de un tubo de rayos catódicos o puntos opacos. Impreso en discos de vidrio mediante técnicas fotolitográficas .
En las décadas de 1950 y 1960, estos métodos fueron reemplazados en gran medida por dispositivos de almacenamiento magnético como memorias de núcleo magnético , cintas magnéticas , tambores y discos , donde un bit estaba representado por la polaridad de magnetización de un área determinada de una película ferromagnética , o por un cambio de polaridad de una dirección a la otra. El mismo principio se utilizó más tarde en la memoria de burbuja magnética desarrollada en la década de 1980, y todavía se encuentra en varios artículos con banda magnética , como billetes de metro y algunas tarjetas de crédito .
En la memoria semiconductora moderna , como la memoria dinámica de acceso aleatorio , los dos valores de un bit pueden representarse mediante dos niveles de carga eléctrica almacenados en un condensador . En ciertos tipos de matrices lógicas programables y memorias de solo lectura , un bit puede estar representado por la presencia o ausencia de una ruta conductora en un determinado punto de un circuito. En los discos ópticos , un bit se codifica como la presencia o ausencia de un hoyo microscópico en una superficie reflectante. En los códigos de barras unidimensionales , los bits se codifican como el grosor de líneas blancas y negras alternas.
El bit no está definido en el Sistema Internacional de Unidades (SI). Sin embargo, la Comisión Electrotécnica Internacional emitió la norma IEC 60027 , que especifica que el símbolo del dígito binario debe ser "bit", y debe usarse en todos los múltiplos, como "kbit", para kilobit. [11] Sin embargo, la letra minúscula 'b' también se usa ampliamente y fue recomendada por el estándar IEEE 1541 (2002) . Por el contrario, la letra mayúscula 'B' es el símbolo estándar y habitual de byte.
Se pueden expresar y representar múltiples bits de varias maneras. Por conveniencia de representar grupos de bits que se repiten comúnmente en la tecnología de la información, tradicionalmente se han utilizado varias unidades de información . El más común es el byte unitario , acuñado por Werner Buchholz en junio de 1956, que históricamente se utilizó para representar el grupo de bits utilizados para codificar un solo carácter de texto (hasta que tomó el relevo la codificación multibyte UTF-8 ) en una computadora [2]. [12] [13] [14] [15] y por esta razón se utilizó como elemento direccionable básico en muchas arquitecturas informáticas . La tendencia en el diseño de hardware convergió en la implementación más común de utilizar ocho bits por byte, como se usa ampliamente en la actualidad. [ a partir de? ] Sin embargo, debido a la ambigüedad de depender del diseño del hardware subyacente, el octeto unitario se definió para denotar explícitamente una secuencia de ocho bits.
Los ordenadores suelen manipular bits en grupos de un tamaño fijo, denominados convencionalmente " palabras ". Al igual que el byte, el número de bits de una palabra también varía según el diseño del hardware y suele oscilar entre 8 y 80 bits, o incluso más en algunas computadoras especializadas. En el siglo XXI, las computadoras personales o de servidor minoristas tienen un tamaño de palabra de 32 o 64 bits.
El Sistema Internacional de Unidades define una serie de prefijos decimales para múltiplos de unidades estandarizadas que también se utilizan comúnmente con el bit y el byte. Los prefijos kilo (10 3 ) hasta yotta (10 24 ) se incrementan en múltiplos de mil, y las unidades correspondientes son el kilobit (kbit) hasta el yottabit (Ybit).
Cuando la capacidad de información de un sistema de almacenamiento o de un canal de comunicación se presenta en bits o bits por segundo , esto suele referirse a dígitos binarios, que es una capacidad del hardware de una computadora para almacenar datos binarios ( 0 o 1 , arriba o abajo, actual o no). , etc.). [16] La capacidad de información de un sistema de almacenamiento es sólo un límite superior a la cantidad de información almacenada en él. Si los dos valores posibles de un bit de almacenamiento no son igualmente probables, ese bit de almacenamiento contiene menos de un bit de información. Si el valor es completamente predecible, entonces la lectura de ese valor no proporciona ninguna información (bits entrópicos cero, porque no se produce ninguna resolución de la incertidumbre y, por lo tanto, no hay información disponible). Si un archivo de computadora que utiliza n bits de almacenamiento contiene sólo m < n bits de información, entonces esa información, en principio, puede codificarse en aproximadamente m bits, al menos en promedio. Este principio es la base de la tecnología de compresión de datos . Usando una analogía, los dígitos binarios del hardware se refieren a la cantidad de espacio de almacenamiento disponible (como la cantidad de cubos disponibles para almacenar cosas) y el contenido de información del relleno, que viene en diferentes niveles de granularidad (fino o grueso, es decir, información comprimida o sin comprimir). Cuando la granularidad es más fina (cuando la información está más comprimida), el mismo depósito puede contener más.
Por ejemplo, se estima que la capacidad tecnológica combinada del mundo para almacenar información proporciona 1.300 exabytes de dígitos de hardware. Sin embargo, cuando se llena este espacio de almacenamiento y el contenido correspondiente se comprime de forma óptima, esto sólo representa 295 exabytes de información. [17] Cuando se comprime de manera óptima, la capacidad de carga resultante se aproxima a la información de Shannon o a la entropía de la información . [16]
Ciertas instrucciones de procesador de computadora bit a bit (como bit set ) operan al nivel de manipulación de bits en lugar de manipular datos interpretados como un agregado de bits.
En la década de 1980, cuando las pantallas de computadora con mapas de bits se hicieron populares, algunas computadoras proporcionaban instrucciones especializadas de transferencia de bloques de bits para configurar o copiar los bits que correspondían a un área rectangular determinada en la pantalla.
En la mayoría de las computadoras y lenguajes de programación, cuando se hace referencia a un bit dentro de un grupo de bits, como un byte o una palabra , generalmente se especifica mediante un número de 0 en adelante correspondiente a su posición dentro del byte o palabra. Sin embargo, 0 puede referirse al bit más o menos significativo según el contexto.
Similar al par y la energía en física; La información teórica y el tamaño del almacenamiento de datos tienen la misma dimensionalidad que las unidades de medida , pero en general no tiene sentido sumar, restar o combinar matemáticamente las unidades, aunque una puede actuar como un límite sobre la otra.
Las unidades de información utilizadas en la teoría de la información incluyen el shannon (Sh), la unidad natural de información (nat) y el hartley (Hart). Un shannon es la cantidad máxima de información necesaria para especificar el estado de un bit de almacenamiento. Estos están relacionados por 1 Sh ≈ 0,693 nat ≈ 0,301 Hart.
Algunos autores también definen un binit como una unidad de información arbitraria equivalente a un número fijo pero no especificado de bits. [18]
[…] Con la computadora
STRETCH
de
IBM
como fondo, manejando palabras de 64 caracteres divisibles en grupos de 8 (yo diseñé el conjunto de caracteres, bajo la guía del Dr.
Werner Buchholz
, el hombre que SÍ acuñó el término "
byte
" para una agrupación de 8 bits). […] El
IBM 360
usaba caracteres de 8 bits, aunque no ASCII directamente. Así, el "byte" de Buchholz se hizo popular en todas partes. A mí mismo no me gustó el nombre por muchas razones. […]
La elección de una base logarítmica corresponde a la elección de una unidad para medir la información. Si se utiliza la base 2, las unidades resultantes pueden denominarse dígitos binarios, o más brevemente
bits
, palabra sugerida por
JW Tukey
.
[…] Lo más importante, desde el punto de vista de la edición, será la capacidad de manejar cualquier carácter o dígito, de 1 a 6 bits de longitud […] la Matriz de desplazamiento que se utilizará para convertir una
palabra
de 60 bits , proveniente de Memoria en paralelo, en
caracteres
, o "
bytes
" como los hemos llamado, para ser enviados al
Adder
en serie. Los 60 bits se vierten en
núcleos magnéticos
en seis niveles diferentes. Así, si sale un 1 de la posición 9, aparecerá en los seis núcleos inferiores. […] El sumador puede aceptar todos o sólo algunos de los bits. […] Supongamos que se desea operar con
dígitos decimales
de 4 bits , comenzando por la derecha. Primero se pulsa la diagonal 0, enviando los seis bits del 0 al 5, de los cuales el sumador acepta sólo los primeros cuatro (0-3). Los bits 4 y 5 se ignoran. A continuación, se pulsa la diagonal 4. Esto envía los bits 4 a 9, de los cuales los dos últimos se ignoran nuevamente, y así sucesivamente. […] Es igual de fácil utilizar los seis bits en trabajos
alfanuméricos
, o manejar bytes de un solo bit para análisis lógico, o compensar los bytes en cualquier número de bits. […]
[…] La primera referencia encontrada en los archivos estaba contenida en un memorando interno escrito en junio de 1956 durante los primeros días del desarrollo
de Stretch
.
Se describió que
un
byte
constaba de cualquier número de bits paralelos del uno al seis. Por tanto, se suponía que un byte tenía una longitud adecuada para la ocasión. Su primer uso se produjo en el contexto de los equipos de entrada y salida de la década de 1950, que manejaban seis bits a la vez. La posibilidad de pasar a bytes de 8 bits se consideró en agosto de 1956 y poco después se incorporó al diseño de Stretch. La primera referencia publicada al término se produjo en 1959 en un artículo "Processing Data in Bits and Pieces" de
G A Blaauw
,
F P Brooks Jr
y
W Buchholz
en
IRE Transactions on Electronic Computers
, junio de 1959, página 121. Las nociones de ese artículo fueron elaborados en el Capítulo 4 de
Planificación de un sistema informático (Project Stretch)
, editado por W Buchholz,
McGraw-Hill Book Company
(1962). La razón para acuñar el término se explicó en la página 40 de la siguiente manera:
Byte
denota un grupo de bits utilizados para codificar un carácter, o el número de bits transmitidos en paralelo hacia y desde unidades de entrada-salida. Aquí se utiliza
un término distinto de
carácter
porque un carácter determinado puede representarse en diferentes aplicaciones mediante más de un código, y diferentes códigos pueden utilizar diferentes números de bits (es decir, diferentes tamaños de bytes). En la transmisión de entrada-salida, la agrupación de bits puede ser completamente arbitraria y no tener relación con los caracteres reales. (El término se acuñó a partir de
bit
, pero se repelió para evitar una mutación accidental a
bit
).
System/360
adoptó muchos de los conceptos de Stretch, incluidos los tamaños básicos de bytes y palabras, que son potencias de 2. Sin embargo, por motivos de economía, el byte El tamaño se fijó en un máximo de 8 bits y el direccionamiento a nivel de bits se reemplazó por direccionamiento de bytes. […]