El bit es la unidad de información más básica en informática y comunicación digital . El nombre es una combinación 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 , encendido / apagado 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 . Se puede implementar 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 una cantidad de bytes que es una potencia baja de dos. Una cadena de cuatro bits suele ser un nibble .
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] llamado así en honor a Claude E. Shannon .
El símbolo del dígito binario es "bit", según la norma IEC 80000-13 :2008, o el carácter minúsculo "b", según la norma 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 por 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 posteriormente 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) llevaba conceptualmente una serie de posiciones de agujeros; cada posición podía ser perforada o no, por lo que transportaba 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 cotización de acciones (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 influyente artículo de 1948 " A Mathematical Theory of Communication ". [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 contrajo "dígito de información binaria" a simplemente "bit". [8]
Un bit puede ser almacenado por un dispositivo digital u otro sistema físico que exista en cualquiera de dos estados distintos posibles . 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 del ADN bicatenario reversible , etc.
Los bits se pueden implementar de varias formas. En la mayoría de los dispositivos informáticos modernos, un bit suele representarse mediante un pulso de tensión o corriente eléctrica , o mediante el estado eléctrico de un circuito flip-flop.
En el caso de los dispositivos que utilizan lógica positiva , un valor de dígito de 1 (o un valor lógico de verdadero) se representa mediante un voltaje más positivo en relación con la representación de 0. Las 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 la lógica transistor-transistor (TTL) y circuitos compatibles, los valores de dígito 0 y 1 en la salida de un dispositivo se representan mediante valores no superiores a 0,4 V y no inferiores a 2,6 V, respectivamente; mientras que las entradas TTL están especificadas para reconocer 0,8 V o menos como 0 y 2,2 V o más como 1 .
Los bits se transmiten de a uno 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 de a uno por vez. Las velocidades de transferencia de datos se miden generalmente en múltiplos decimales del SI de la unidad bit por segundo (bit/s), como kbit/s.
En los primeros dispositivos de procesamiento de información no electrónicos, como el telar de Jacquard o la máquina analítica de Babbage , un bit se almacenaba a menudo como la posición de una palanca o engranaje mecánico, o la presencia o ausencia de un orificio en un punto específico de una tarjeta o cinta de papel . Los primeros dispositivos eléctricos para lógica discreta (como los circuitos de control de ascensores y semáforos , los interruptores telefónicos y la computadora de Konrad Zuse) representaban bits como 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 por una línea de retardo de mercurio , cargas almacenadas en la superficie interior de un tubo de rayos catódicos o puntos opacos impresos 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 la memoria de núcleo magnético , las cintas magnéticas , los tambores y los discos , donde un bit estaba representado por la polaridad de magnetización de una determinada zona 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 de banda magnética como los billetes de metro y algunas tarjetas de crédito .
En la memoria de semiconductores moderna , como la memoria de acceso aleatorio dinámico , 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 memoria de solo lectura , un bit puede representarse mediante la presencia o ausencia de una ruta conductora en un punto determinado 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 alternadas.
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 para dígito binario debe ser "bit", y este 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 la Norma IEEE 1541 (2002) . Por el contrario, la letra mayúscula "B" es el símbolo estándar y habitual para byte.
Los bits múltiples se pueden expresar y representar de varias maneras. Para facilitar la representación de 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 . La más común es la unidad byte , acuñada 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 la codificación multibyte UTF-8 tomó el control) en una computadora [2] [12] [ 13] [14] [15] y por esta razón se utilizó como el elemento direccionable básico en muchas arquitecturas de computadora . La tendencia en el diseño de hardware convergió en la implementación más común de usar ocho bits por byte, como se usa ampliamente en la actualidad. [ ¿ a partir de? ] Sin embargo, debido a la ambigüedad de confiar en el diseño de hardware subyacente, la unidad octeto 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, la cantidad de bits de una palabra también varía con el diseño del hardware y suele estar entre 8 y 80 bits, o incluso más en algunos ordenadores especializados. A principios del siglo XXI, los ordenadores personales o servidores comerciales 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 ) a yotta (10 24 ) se incrementan en múltiplos de mil, y las unidades correspondientes son del kilobit (kbit) al yottabit (Ybit).
Cuando la capacidad de información de un sistema de almacenamiento o un canal de comunicación se presenta en bits o bits por segundo , esto a menudo se refiere a dígitos binarios, que es una capacidad del hardware de la 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 solo un límite superior a la cantidad de información almacenada en el mismo. 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 información en absoluto (cero bits entrópicos, porque no ocurre ninguna resolución de incertidumbre y, por lo tanto, no hay información disponible). Si un archivo de computadora que usa n bits de almacenamiento contiene solo m < n bits de información, entonces esa información puede, en principio, codificarse en aproximadamente m bits, al menos en promedio. Este principio es la base de la tecnología de compresión de datos . Utilizando una analogía, los dígitos binarios del hardware se refieren a la cantidad de espacio de almacenamiento disponible (como la cantidad de contenedores disponibles para almacenar cosas) y al contenido de información que se llena, que viene en diferentes niveles de granularidad (fina o gruesa, 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 contenedor 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 este espacio de almacenamiento se llena y el contenido correspondiente se comprime de manera óptima, esto solo 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 entropía de información . [16]
Ciertas instrucciones de procesadores de computadora bit a bit (como bit set ) operan a 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 con un número del 0 en adelante que corresponde a su posición dentro del byte o la palabra. Sin embargo, 0 puede referirse al bit más o menos significativo según el contexto.
Similar al torque y la energía en física; la información teórica de la información y el tamaño de almacenamiento de datos tienen la misma dimensionalidad de unidades de medida , pero en general no tiene sentido sumar, restar o combinar de otro modo las unidades matemáticamente, 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. Estas unidades están relacionadas 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 antecedente, manejando palabras de 64 caracteres divisibles en grupos de 8 (yo diseñé el conjunto de caracteres para ella, 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 gustaba 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 llamarse dígitos binarios o, más brevemente,
bits
, una 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 , procedente de la Memoria en paralelo, en
caracteres
, o "
bytes
" como los hemos llamado, para ser enviados al
Sumador
en serie. Los 60 bits se vuelcan en
núcleos magnéticos
en seis niveles diferentes. Así, si un 1 sale de la posición 9, aparece en los seis núcleos de debajo. […] El Sumador puede aceptar todos o solo 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 0 a 5, de los cuales el Sumador acepta solo 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 usar los seis bits en el trabajo
alfanumérico
, o manejar bytes de solo un bit para análisis lógico, o compensar los bytes por 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
. Un
byte
se describía como un conjunto de cualquier número de bits paralelos de uno a seis. Por lo tanto, se suponía que un byte tenía una longitud apropiada para la ocasión. Su primer uso fue en el contexto de los equipos de entrada-salida de la década de 1950, que manejaban seis bits a la vez. La posibilidad de llegar a bytes de 8 bits se consideró en agosto de 1956 y se incorporó al diseño de Stretch poco después. 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 se elaboraron en el Capítulo 4 de
Planning a Computer System (Project Stretch)
, editado por W Buchholz,
McGraw-Hill Book Company
(1962). La razón para acuñar el término se explicó allí 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 dado puede representarse en diferentes aplicaciones por más de un código, y diferentes códigos pueden utilizar diferentes números de bits (es decir, diferentes tamaños de byte). 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 proviene de
bite
, pero se volvió a escribir bit
para evitar una mutación accidental
).
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 razones de economía, el tamaño de byte se fijó en un máximo de 8 bits y el direccionamiento a nivel de bit se reemplazó por el direccionamiento de bytes. […]