Saltar a: navegación, buscar

Bit

(Redirigido desde «Bits»)
Bit
Información sobre la plantilla
Byte.JPG
Concepto:Unidad de medida en informática.

El término bit se deriva de la frase ‘dígito binario’ (en inglés binary digit). Es la unidad básica y mínima que puede transmitirse en una computadora, y representa la presencia o la ausencia de un impulso electrónico. Ocho bits contiguos determinan un byte [báit], que es la unidad fundamental de datos en las computadoras personales.

Historia

Logotipo de la empresa estadounidense IBM, una de las primeras compañías que fabricaron computadoras.

La codificación de los datos por bits discretos se utilizó en las tarjetas perforadas inventado por Basile Bouchon y Jean-Baptiste Falcón (en 1725), desarrollado por Joseph Marie Jacquard (en 1804), y luego adoptado por Semén Korsakov, Charles Babbage, Hollerith Hermann, y los primeros fabricantes de computadoras, como la empresa estadounidense IBM.

Otra variante de la idea fue esta perforación de la cinta de papel. En todos estos sistemas, el medio (tarjeta o cinta) conceptualmente llevado a una serie de posiciones de los agujeros, cada posición podría ser perforado a través o no, lo cual podría llevar a un bit de información.

La codificación de texto por bits también se utilizó en el código Morse (de 1844) y en las primeras máquinas de comunicaciones digitales, tales como los teletipos y las máquinas en bolsa (de 1870).

Características generales

Un byte es la unidad fundamental de datos en las computadoras personales, un byte son ocho bits contiguos. El byte es también la unidad de medida básica para memoria, almacenando el equivalente a un carácter. Es una señal electrónica que puede estar encendida (1) o apagada (0).

Es la unidad más pequeña de información que utiliza una computadora. Son necesarios 8 bits para crear un byte.

Byte es una palabra inglesa (pronunciada [báit] en inglés o [bíte] en España), que si bien la Real Academia Española ha aceptado como equivalente a octeto (es decir a ocho bits), para fines correctos, un byte debe ser considerado como una secuencia de bits contiguos, cuyo tamaño depende del código de información o código de caracteres en que sea definido. La unidad byte no tiene símbolo establecido internacionalmente, aunque en países anglosajones es frecuente B mientras que en los francófonos es o (de ‘octet’); la ISO y la IEC en la norma 80000-13:2008 recomiendan restringir el empleo de esta unidad a los octetos (bytes de 8 bit).

El término byte fue acuñado por Waner Buchholz en 1957 durante las primeras fases de diseño del IBM 7030 Stretch. Originalmente fue definido en instrucciones de 4 bits, permitiendo desde 1 hasta 16 bits en 1 byte (el diseño de producción redujo este hasta campos de 3 bits, permitiendo desde 1 a 8 bits en 1 byte). Los equipos típicos de E/S (‘entrada/salida’) de este período utilizaban unidades de 6 bits. Posteriormente se adoptó un tamaño fijo de byte de 8 bits y se promulgó como un estándar por el IBM S/360. El término "byte" viene de "bite" (en inglés "mordisco"), como la cantidad más pequeña de datos que una computadora podía "morder" a la vez. El cambio de letra no solo redujo la posibilidad de confundirlo con "bit", sino que también era consistente con la afición de los primeros científicos en computación en crear palabras y cambiar letras. Sin embargo, en los años 1960, en el Departamento de Educación de IBM del Reino Unido se enseñaba que un bit era un Binary digIT y un byte era un BinarY TuplE. Un byte también se conocía como "un byte de 8 bits", reforzando la noción de que era una tupla de n bits y que se permitían otros tamaños.

Los primeros microprocesadores, como el Intel 8008 (el predecesor directo del 8080 y el Intel 8086) podían realizar un número pequeño de operaciones en 4 bits, como la instrucción DAA (ajuste decimal) y el flag "half carry" que eran utilizados para implementar rutinas de aritmética decimal. Estas cantidades de 4 bits se llamaron "nibbles" en honor al equivalente de 8 bits "bytes".

La arquitectura de computadoras se basa sobre todo en números binarios, así que los bytes se cuentan en potencias de dos.

Algunas personas prefieren llamar «octetos» a los grupos de 8 bits.

Los términos «kilo» (k) en la palabra kilobyte (que se abrevia como kB) y «mega» en megabyte (abreviado como MB) se utilizan para contar bytes (aunque son engañosos, puesto que derivan de una base decimal de 10 números).

La mayoría de las veces los bits se utilizan para describir velocidades de transmisión, mientras que los bytes se utilizan para describir capacidad de almacenamiento o memoria.

El funcionamiento es el siguiente: el circuito electrónico en los computadoras detecta la diferencia entre dos estados (corriente alta y corriente baja) y representa esos dos estados como uno de dos números, 1 o 0. Estas unidades de información básicas (sí/no, alta/baja, 1/0, ambos/0) se llaman bits.

Dígito binario

Imagen fantástica de una esfera imaginaria cuya superficie está llena con ceros y unos.

En el mundo de las computadoras "dígito binario" se suele abreviar con la palabra "bit" (acrónimo del ingles Binary Digit), es la unidad mínima de almacenamiento o información aplicado en la informática. Esta representado por un 0 o un 1, que también ambos constituyen el sistema de numeración binario, usando estos dos valores, 0 y 1 (ej, en decimal se usan 10 valores del 0 al 9).

Técnicamente tiene varias implementaciones, el 0 y 1 se pueden representar como diferentes valores, donde 0 representaría a un falso o apagado, y el 1, un verdadero o encendido.

Un dígito binario es el número que se representa utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, debido a que trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeración natural es el sistema binario (encendido 1, apagado 0). Un bit es un dígito del sistema de numeración binario. Las unidades de almacenamiento tienen por símbolo bit. Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan solo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores: 0 o 1.

Historia del sistema binario

El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo XVII, en su artículo "Explication de l'Arithmétique Binaire". En él se mencionan los símbolos binarios usados por matemáticos chinos. Leibniz utilizó el 0 y el 1, al igual que el sistema de numeración binario actual.

El antiguo matemático indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de nuestra era, lo cual coincidió con su descubrimiento del concepto del número cero.

Una serie completa de 8 trigramas y 64 hexagramas (análogos a 3 bits) y números binarios de 6 bits eran conocidos en la antigua China en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizadas en sistemas de adivinación tradicionales africanos, como el Ifá, así como en la geomancia medieval occidental.

Composición

Con un bit podemos representar solamente dos valores, que suelen representarse como 0 y 1. Para representar o codificar más información en un dispositivo digital, se necesita una mayor cantidad de bits. Si usamos dos bits, tendremos cuatro combinaciones posibles:

  • 0 0 - Los dos están "apagados"
  • 0 1 - El primero (de derecha a izquierda) está "encendido" y el segundo "apagado"
  • 1 0 - El primero (de derecha a izquierda) está "apagado" y el segundo "encendido"
  • 1 1 - Los dos están "encendidos"

Con estas cuatro combinaciones podemos representar hasta cuatro valores diferentes, como por ejemplo, los colores rojo, verde, azul y negro.

A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes.

Cuatro bits forman un nibble, y pueden representar hasta 24 = 16 valores diferentes; ocho bits forman un octeto, y se pueden representar hasta 28 = 256 valores diferentes. En general, con un número de bits pueden representarse hasta 2n valores diferentes.

Un byte y un octeto no son la misma cosa, mientras que un octeto siempre tiene 8 bits, un byte contiene un número fijo de bits, que no necesariamente son 8. En las computadoras antiguos, el byte podría estar conformado por 6, 7, 8 ó 9 bits. Hoy en día, en la inmensa mayoría de las computadoras, y en la mayoría de los campos, un byte tiene 8 bits, siendo equivalente al octeto, pero hay excepciones.

Un conjunto de bits, como por ejemplo un byte, representa un conjunto de elementos ordenados. Se llama bit más significativo (MSB) al bit que tiene un mayor peso (mayor valor) dentro del conjunto, análogamente, se llama bit menos significativo (LSB) al bit que tiene un menor peso dentro del conjunto.

Representación

En un byte, el bit más significativo es el de la posición 7, y el menos significativo es el de la posición 0
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | <-- Posición del bit
+---+---+---+---+---+---+---+---+
|128|64 |32 |16 | 8 | 4 | 2 | 1 | <-- Valor del bit de acuerdo a su posición
+---+---+---+---+---+---+---+---+

(-) Bit menos significativo
(+) Bit más significativo
En una palabra de 16 bits, el bit más significativo es el de la posición 15 y el menos significativo el de la posición 0.
+----+----+----+----+----+----+---+---+---+---+---+---+---+---+---+---+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | <-- Posición del bit
+----+----+----+----+----+----+---+---+---+---+---+---+---+---+---+---+
|2^15|2^14|2^13|2^12|2^11|2^10|512|256|128|64 |32 |16 | 8 | 4 | 2 | 1 | <-- Valor del bit de acuerdo
+----+----+----+----+----+----+---+---+---+---+---+---+---+---+---+---+ a su posición
| |
| +-- Bit menos significativo
+-------------------------------------------------------------------- Bit más significativo

Tomemos, por ejemplo, el número decimal 27 codificado en forma binaria en un octeto:
27 = 16 + 8 + 2 + 1 = 24 + 23 + 21 + 20 -> 0 0 0 1 1 0 1 1
Aquí, el primer '0', el de la izquierda (que se corresponde con el coeficiente de 27), es el bit más significativo, siendo el último '1', el de la derecha (que se corresponde con el coeficiente de 20), el menos significativo.

En cualquier caso, el bit más significativo es el del extremo izquierdo y el menos significativo el del extremo derecho. Esto es análogo al sistema decimal, en donde el dígito más significativo es el de la izquierda y el menos significativo el de la derecha, como por ejemplo, en el número 179, el dígito más significativo, el que tiene mayor valor, es el 1 (el de las Centenas), y el menos significativo, el 9 (el de las unidades).

En las computadoras, cada byte se identifica con su posición en la memoria (dirección). Cuando se manejan números de más de un byte, estos también deben estar ordenados.

Este aspecto es particularmente importante en la programación en código máquina, ya que algunas máquinas consideran el byte situado en la dirección más baja el menos significativo (a little endian, como los procesadores Intel) mientras que otras consideran que ese es el más significativo (arquitectura big endian, como los Procesadores Motorola).

De este modo, un byte con el número decimal 27 se almacenaría en una máquina little endian igual que en una máquina big endian, ya que sólo ocupa un byte. Sin embargo, para números más grandes los bytes que los representan se almacenarían en distinto orden en cada Arquitectura.

El número hexadecimal entero AABBCCDD, de 32 bits (4 bytes), localizado en la dirección 100 de la memoria. El número ocuparía las posiciones desde la 100 a la 103, pero dependiendo de si la máquina es little o big endian, los bytes se almacenarían de diferente manera:

  • Little-endian (como Intel).
  • 100 101 102 103
  • ... DD CC BB AA...
  • big-endian (como Motorola).
  • 100 101 102 103
  • ... AA BB CC DD...

Posición en memoria

Las posiciones de memoria 100, 101, 102 y 103 creciendo de izquierda a derecha, «parece» que la representación big endian es más natural, ya que el número AABBCCDD lo podemos leer correctamente (ver figura), mientras que en la representación little endian parece que el número está al revés, o «patas arriba».

Sin embargo, no hay nada que nos impida imaginar que las direcciones de memoria «crecen» de derecha a izquierda, y al observar la memoria de esta manera, la representación little endian «se ve natural» y es la big endian la que «parece» al revés, como se muestra en las figuras de abajo.

  • Little-endian
    • 103 102 101 100
    • ... AA BB CC DD...
  • Big-endian
    • 103 102 101 100
    • ... DD CC BB AA...

Almacenamiento

En los dispositivos de primera transformación no electrónica de información, como Jacquard telar o el motor de Babbage analítico, un poco se almacenan a menudo como la posición de una palanca mecánica o del arte, o la presencia o ausencia de un agujero en un punto específico de una tarjeta de papel o cinta adhesiva.

Los primeros dispositivos eléctricos para la lógica discreta (por ejemplo, ascensor y circuitos de tráfico de control de iluminación, interruptores de teléfono y una computadora Konrad Zuse) representa los bits como los estados de los relés eléctricos que podrían ser "abierto" o "cerrado".

Cuando los relés fueron reemplazados por tubos de vacío, a partir de la década de 1940, los constructores equipo experimentado con una variedad de métodos de almacenamiento, tales como pulsos de presión que baja por una línea de retardo de mercurio, las cargas almacenadas en la superficie interior de un tubo de rayos catódicos, o manchas opacas impresos en los discos de vidrio mediante técnicas de fotolitografía.

En los años 1950 y 1960, estos métodos fueron suplantados en gran parte por dispositivos de almacenamiento magnético como la memoria de núcleos magnéticos, cintas magnéticas, tambores y discos, donde se representaba un poco a la polaridad de la magnetización de una determinada zona de una película ferromagnéticos.

El mismo principio fue utilizado más adelante en la memoria de burbuja magnética desarrollado en la década de 1980, y todavía se encuentra en varios artículos de la banda magnética como billetes de metro y algunas tarjetas de crédito.

En memoria de semiconductores modernos, como la memoria dinámica de acceso aleatorio o memoria flash, los dos valores de un bit puede ser representado por dos niveles de carga eléctrica almacenada en un condensador.

En matrices de puertas programables y ciertos tipos de memoria de sólo lectura, un poco puede ser representada por la presencia o ausencia de un camino conductor en un punto determinado de un circuito.

En los discos ópticos, un poco se codifica como la presencia o ausencia de un hoyo microscópico en una superficie reflectante. En los códigos de barras, los bits se codifican como el espesor o distancia entre una línea.

Transmisión y procesamiento

Los bits se puede implementar en muchas formas. En la mayoría de dispositivos de cómputo moderno, un poco por lo general representado por un voltaje eléctrico o impulso de corriente, o por el estado eléctrico de un circuito flip-flop.

Para los dispositivos que utilizan la lógica positiva, un valor del dígito de 1 (verdadero valor o alto) se representa por una señal positiva respecto a la tensión eléctrica de tierra (hasta 5 voltios en el caso de los diseños TTL), mientras que un valor de dígito 0 (falso valor o baja) es representado por 0 voltios.

Otras unidades de información

Otras unidades de información, utiliza a veces en teoría de la información, incluir el dígito naturales también llamado nat o liendres y se define como e log2 (≈ 1.443) bits, donde e es la base de los logaritmos naturales, y el DECIT, vedar o Hartley, definida como log210 (≈ 3.322) bits.

A la inversa, un bit de información corresponde a alrededor de 2 ln (≈ 0,693) NATs, o log10 2 (≈ 0.301) Hartleys.

Algunos autores también definen una binit el equivalente a una unidad arbitraria de información a algunos fijos, pero el número no especificado de bits.

Ejemplos de medidas

Tamaño y capacidad de almacenamiento

  • 1 B: una letra.
  • 10 B: una o dos palabras.
  • 100 B: una o dos frases.
  • 1 kB: una historia muy corta.
  • 10 kB: una página de enciclopedia (tal vez con un dibujo simple).
  • 100 kB una foto de resolución media.
  • 1 MB: una novela.
  • 10 MB: dos copias de la obra completa de Shakespeare.
  • 100 MB: un metro de libros de una estantería.
  • 1 GB: un camión lleno de páginas de libros.
  • 1 TB: 50 000 árboles.
  • 10 TB: la colección impresa de la Biblioteca del Congreso de Estados Unidos.

Kilobyte

Concepto: unidad de medida informática que equivale a 1024 bytes. Su símbolo es kB.

Megabyte

Concepto: unidad de medida informática que equivale a 1024 kB ó 1048 576 bytes. Su símbolo es MB.

El megabyte conocido en Espana como megaocteto se refiere a una medida de cantidad en la informática, pertenece a los múltiplos del byte (equivale a 1024 bytes). La palabra «megabyte» proviene del prefijo griego mega, que significa ‘grande’. Se ve representada por el símbolo MB. A los megabytes se los conoce mundialmente como «megas».

La siguiente unidad de medida en informática es el gigabyte (mil megas), que se utiliza para especificar la capacidad de algunos dispositivos como memorias RAM, memorias de tarjetas gráficas, memorias de los CD-ROM, o el tamaño de algunos softwares y archivos.

Prefijo binario

En el surgimiento de la informática, las unidades se multiplicaban por 1000, esto se utiliza en el almacenamiento de datos, mientras que para el hardware, memoria RAM, resultó mucho más fácil determinar una base binaria, mostrándose para esta en múltiplos de 1024, ya que las computadoras trabajan en base binarias y no decimal.

El Sistema Internacional de Medidas determinó que recibieran los mismo prefijos en las unidades de base mil dado a su parecido, lo cual en la etimología es incorrecto nombrar 1024 con un prefijo de 1000, dado que estos prefijos llevan existentes en la informática expresando las bases de mil de cualquier unidad del sistema internacional de medidas, como el voltio, el amperio o el metro. En cierto momento esto sembró algunas confusiones que hasta la actualidad siguen debatiéndose en la comunidad informática.

Para determinar la distinción entre los prefijos decimal y binario, la IEC (siglas de la Comisión Electrotécnica Internacional), un equipo de estandarización, en 1997 propuso prefijos con uniones abreviadas del Sistema Internacional de Unidades con la palabra binario. Siendo este denominado un mebibyte (MiB), es decir la contracción del megabyte binario, pero esta convención no se ha difundido lo suficiente en el mundo.

Su uso

Debido al uso de forma irregular del prefijo binario en la definición y trabajo del kilobyte, las cifras exactas son las siguientes:

  • La definición usada por los ingenieros de telecomunicaciones y algunos fabricantes de sistemas de almacenamientos es 1 000 000 de bytes o 106 bytes y es la que resulta consistente con el prefijo «mega». Lo que su abreviatura es igual que todas y es la correspondiente es por eso MB (megabyte).
  • Teniendo en cuenta los métodos de compresión de datos y los formatos de archivos, un megabyte de información es cerca de:
  • Seis segundos de audio de Disc Compact o Disco Compacto, sin comprimir, un disco compacto o CD, puede almacenar 700 MB, que significa 80 minutos de audio sin comprimir.
  • Una imagen de mapa bits sin comprimir de dimensión 1000 x 1000 píxeles con 256 colores, profundidad de color de 8 bits por píxel.
  • Un libro con un volumen típico de 500 paginas con 2000 caracteres por páginas en formato de texto.
  • Un minuto de audio en formato mp3, y comprimido a 128 kbit/s.
  • Dispositivo como un disquete de 1.44 MB puede almacenar alrededor de 1 474 560 bytes de información. En el contexto de MB significaría 1024 x 1000.

Órdenes de magnitud de la información (datos):

  • 1 bit (es la unidad mínima de almacenamiento; puede ser un 0 o un 1).
  • 8 bits (un octeto de bits) = 1 byte
  • 1024 bytes = 1 kilobyte (por ejemplo, un archivo de texto plano, pesa 20 kb).
  • 1024 kilobytes = 1 megabyte (por ejemplo, una canción de 3 minutos, comprimida como mp3, pesa 3 MB).
  • 1024 megabytes = 1 gigabyte (por ejemplo, una película de cine, de una hora y media, en formato DivX, pesa 1 GB).
  • 1024 gigabytes = 1 terabyte (800 películas de cine de una hora y media, pesan 1 TB).
  • 1024 terabytes = 1 petabyte (toda la información que almacenaba la empresa Google, en 2010, pesaba entre 1 y 2 petabytes).
  • 1024 petabytes = 1 exabyte (todo internet ocupa entre 100 y 300 exabytes).
  • 1024 exabytes = 1 zettabyte (a partir de aquí no existen comparativas reales).
  • 1024 zettabytes = 1 yottabyte
  • 1024 yottabytes = 1 brontobyte
  • 1024 brontobytes = 1 geopbyte
  • 1024 geopbytes = 1 saganbyte
  • 1024 saganbytes = 1 jotabyte

Fuentes