Calculadora de Longitud de Bits y Bytes - Herramienta Gratuita de Tamaño de Datos
Calcule longitudes de bits y bytes para enteros, cadenas hexadecimales y texto con codificaciones UTF-8, UTF-16, ASCII. Herramienta en línea gratuita para desarrolladores, científicos de datos e ingenieros de redes.
Calculadora de Longitud de Bits y Bytes
8 bits = 1 bytes
Visualización
Documentación
¿Qué es una calculadora de longitud de bits y bytes?
Una calculadora de longitud de bits y bytes determina cuántos bits y bytes necesita un conjunto de datos. Un bit es un solo dígito binario, 0 o 1. Un byte es un grupo de 8 bits. La calculadora acepta un entero, una cadena hexadecimal o una cadena de texto, e indica el tamaño exacto en ambas unidades.
Esto es importante para la programación, las redes y el almacenamiento de datos. Una columna de base de datos, un paquete de red y un archivo en disco tienen un tamaño medido en bytes, y ese tamaño depende de cómo estén escritos los datos.
Cómo calcular la longitud en bits de un entero
La longitud en bits de un entero positivo es el número de dígitos de su representación binaria. Por ejemplo, 255 en binario es 11111111, que tiene 8 dígitos, por lo que su longitud en bits es 8.
Fórmula: para un entero positivo n, la longitud en bits es el número de dígitos de la representación en base 2 de n. El caso especial n = 0 tiene una longitud en bits de 1.
Los enteros negativos utilizan el complemento a dos, la forma estándar en que los ordenadores almacenan números con signo. La longitud en bits de un entero negativo es el menor número de bits que puede contenerlo en forma de complemento a dos. Por ejemplo, −128 cabe en 8 bits (como 10000000), pero −129 necesita 9 bits, porque 8 bits solo pueden llegar hasta −128.
Una vez conocida la longitud en bits, la longitud en bytes se obtiene redondeando hacia arriba al byte entero más cercano:
Longitud en bytes = ⌈longitud en bits ÷ 8⌉
El símbolo ⌈ ⌉ significa «redondear hacia arriba». Un valor de 9 bits todavía necesita 2 bytes completos, porque un byte no se puede dividir.
Ejemplo resuelto
| Entero | Longitud en bits | Longitud en bytes |
|---|---|---|
| 0 | 1 | 1 |
| 255 | 8 | 1 |
| 256 | 9 | 2 |
| −128 | 8 | 1 |
| −129 | 9 | 2 |
| 18,446,744,073,709,551,615 (2⁶⁴ − 1) | 64 | 8 |
Cómo calcular la longitud en bits de una cadena hexadecimal
Cada dígito hexadecimal (0–9, A–F) representa exactamente 4 bits, porque 4 bits pueden contener 16 valores posibles.
Fórmula: longitud en bits = número de dígitos hexadecimales × 4. La longitud en bytes vuelve a ser la longitud en bits dividida por 8 y redondeada hacia arriba.
Por ejemplo, la cadena hexadecimal «FF» tiene 2 dígitos, por lo que su longitud en bits es 2 × 4 = 8 bits, o 1 byte. La cadena hexadecimal «ABCD» tiene 4 dígitos, lo que da 16 bits, o 2 bytes. Los espacios y otros caracteres de espacio en blanco se eliminan antes de contar. Un número impar de dígitos también se redondea hacia arriba a un byte entero: «F» tiene 4 bits, que la calculadora indica como 1 byte.
Cómo calcular la longitud en bytes de una cadena de texto
En el caso del texto, el tamaño depende de la codificación de caracteres, es decir, la regla utilizada para convertir los caracteres en bytes. La calculadora admite cinco codificaciones:
- UTF-8: una codificación de longitud variable utilizada en toda la web. Cada carácter ocupa entre 1 y 4 bytes. Las letras inglesas, los dígitos y los signos de puntuación básicos ocupan 1 byte cada uno.
- UTF-16: utilizada internamente por JavaScript y Windows. La mayoría de los caracteres ocupan 2 bytes; los caracteres ajenos al Plano Multilingüe Básico, como muchos emoji, ocupan 4 bytes.
- UTF-32: una codificación de longitud fija. Cada carácter ocupa exactamente 4 bytes, independientemente de cuál sea.
- ASCII: una codificación de 7 bits que abarca 128 caracteres, principalmente letras inglesas, dígitos y signos de puntuación básicos. Cada carácter ocupa 1 byte. Cualquier carácter ajeno a este conjunto se rechaza.
- Latin-1 (ISO-8859-1): una codificación de 8 bits que abarca 256 caracteres e incorpora letras acentuadas utilizadas en las lenguas de Europa occidental. Cada carácter ocupa 1 byte. Los caracteres ajenos a este conjunto se rechazan.
Fórmula: longitud en bytes = número de bytes que la codificación produce para la cadena. Longitud en bits = longitud en bytes × 8.
Los recuentos corresponden únicamente al texto. No se añade ninguna marca de orden de bytes, por lo que un recuento de UTF-16 o UTF-32 es 2 o 4 bytes menor que el de una herramienta que escribe una marca al principio.
Ejemplo resuelto
El texto «Hello, world!» tiene 13 caracteres, todos ellos letras y signos de puntuación ASCII básicos.
- UTF-8: 13 bytes (104 bits), ya que cada carácter cabe en 1 byte.
- UTF-16: 26 bytes (208 bits), ya que cada carácter ocupa 2 bytes.
El texto «こんにちは世界» (siete caracteres japoneses) ocupa 3 bytes por carácter en UTF-8, lo que da 21 bytes (168 bits).
Un emoji como 😀 está fuera del Plano Multilingüe Básico. Ocupa 4 bytes en UTF-8, 4 bytes en UTF-16 (como par sustituto) y 4 bytes en UTF-32.
Por qué los enteros con signo cambian la respuesta
Los ordenadores almacenan los números negativos mediante el complemento a dos, no mediante un simple signo menos. Esto significa que la longitud en bits de un entero negativo no es simplemente la longitud en bits de su valor absoluto más uno. La regla es que la longitud en bits es el menor número de bits k tal que el valor es como mínimo −2^(k−1). Por eso −128 (que equivale a −2⁷) cabe en 8 bits, mientras que −129 necesita 9.
Preguntas frecuentes
¿Cómo convierto bytes en bits? Multiplica por 8. Diez bytes equivalen a 80 bits, porque cada byte contiene 8 bits por definición.
¿Cuál es la diferencia entre la longitud en bits y la longitud en bytes? La longitud en bits cuenta los dígitos binarios individuales. La longitud en bytes cuenta grupos de 8 bits, redondeando hacia arriba al byte entero siguiente cuando la longitud en bits no es múltiplo de 8.
¿Cuántos bytes utiliza un carácter UTF-8? Entre 1 y 4. Los caracteres compartidos con ASCII utilizan 1 byte. Muchos caracteres latinos acentuados, griegos y cirílicos utilizan 2 bytes. La mayoría de los caracteres chinos, japoneses y coreanos utilizan 3 bytes. Los emoji y otros símbolos poco frecuentes utilizan 4 bytes.
¿Cómo se calcula la longitud en bytes de una cadena hexadecimal? Cuenta los dígitos hexadecimales después de eliminar los espacios en blanco, multiplícalos por 4 para obtener los bits y redondea después hacia arriba a bytes enteros. Cada byte equivale a 2 dígitos hexadecimales, por lo que «FF» es 1 byte y «ABCD» son 2 bytes. Un dígito aislado como «F» tiene 4 bits, pero sigue ocupando 1 byte.
¿Por qué un entero negativo a veces necesita más bits que su equivalente positivo? El complemento a dos utiliza un bit para indicar el signo, pero ese bit se comparte con el intervalo de valores en lugar de añadirse en todos los casos. −128 cabe en los mismos 8 bits que los valores positivos hasta 127, pero −129 ya no cabe en 8 bits y necesita 9.
¿Qué tamaños de entrada acepta esta calculadora? Enteros, cadenas hexadecimales y cadenas de texto de hasta 1.000.000 caracteres.
Referencias
- "Character encoding." Wikipedia, Fundación Wikimedia. https://en.wikipedia.org/wiki/Character_encoding
- "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
- "Two's complement." Wikipedia, Fundación Wikimedia. https://en.wikipedia.org/wiki/Two%27s_complement