Calculadora de Longitud de Bits i Bytes - Eina Gratuïta de Mida de Dades
Calculeu longituds de bits i bytes per a enters, cadenes hexadecimals i text amb codificacions UTF-8, UTF-16, ASCII. Eina en línia gratuïta per a desenvolupadors, científics de dades i enginyers de xarxes.
Calculadora de Longitud de Bits i Bytes
8 bits = 1 bytes
Visualització
Documentació
Què és una calculadora de longitud de bits i bytes?
Una calculadora de longitud de bits i bytes determina quants bits i bytes necessita una dada. Un bit és un únic dígit binari, 0 o 1. Un byte és un grup de 8 bits. La calculadora accepta un enter, una cadena hexadecimal o una cadena de text, i n’indica la mida exacta en totes dues unitats.
Això és important en programació, xarxes i emmagatzematge de dades. Una columna de base de dades, un paquet de xarxa i un fitxer del disc tenen una mida mesurada en bytes, i aquesta mida depèn de com s’escriguin les dades.
Com es calcula la longitud en bits d’un enter
La longitud en bits d’un enter positiu és el nombre de dígits de la seva forma binària. Per exemple, 255 en binari és 11111111, que té 8 dígits, de manera que la seva longitud en bits és 8.
Fórmula: per a un enter positiu n, la longitud en bits és el nombre de dígits de la representació en base 2 de n. El cas especial n = 0 té una longitud en bits de 1.
Els enters negatius utilitzen el complement a dos, la forma estàndard en què els ordinadors emmagatzemen els nombres amb signe. La longitud en bits d’un enter negatiu és el nombre mínim de bits que el poden contenir en forma de complement a dos. Per exemple, −128 cap en 8 bits (com a 10000000), però −129 necessita 9 bits, perquè 8 bits només poden arribar fins a −128.
Un cop coneguda la longitud en bits, la longitud en bytes s’obté arrodonint cap amunt fins al byte sencer més proper:
Longitud en bytes = ⌈longitud en bits ÷ 8⌉
El símbol ⌈ ⌉ significa «arrodonir cap amunt». Un valor de 9 bits encara necessita 2 bytes sencers, perquè un byte no es pot dividir.
Exemple resolt
| Enter | 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 |
Com es calcula la longitud en bits d’una cadena hexadecimal
Cada dígit hexadecimal (0–9, A–F) representa exactament 4 bits, perquè 4 bits poden contenir 16 valors possibles.
Fórmula: longitud en bits = nombre de dígits hexadecimals × 4. La longitud en bytes torna a ser la longitud en bits dividida per 8 i arrodonida cap amunt.
Per exemple, la cadena hexadecimal «FF» té 2 dígits, de manera que la seva longitud en bits és 2 × 4 = 8 bits, o 1 byte. La cadena hexadecimal «ABCD» té 4 dígits, que donen 16 bits, o 2 bytes. Els espais i altres caràcters d’espai en blanc s’eliminen abans de comptar. Un nombre senar de dígits també s’arrodoneix cap amunt fins a un nombre sencer de bytes: «F» té 4 bits, que la calculadora indica com 1 byte.
Com es calcula la longitud en bytes d’una cadena de text
En el cas del text, la mida depèn de la codificació de caràcters, és a dir, de la regla utilitzada per convertir els caràcters en bytes. La calculadora admet cinc codificacions:
- UTF-8: una codificació de longitud variable utilitzada a tot el web. Cada caràcter ocupa entre 1 i 4 bytes. Les lletres angleses, els dígits i la puntuació bàsica ocupen 1 byte cadascun.
- UTF-16: s’utilitza internament en JavaScript i Windows. La majoria de caràcters ocupen 2 bytes; els caràcters fora del Pla multilingüe bàsic, com ara molts emoji, ocupen 4 bytes.
- UTF-32: una codificació de longitud fixa. Cada caràcter ocupa exactament 4 bytes, independentment de quin sigui.
- ASCII: una codificació de 7 bits que cobreix 128 caràcters, principalment lletres angleses, dígits i signes de puntuació bàsics. Cada caràcter ocupa 1 byte. Qualsevol caràcter fora d’aquest conjunt es rebutja.
- Latin-1 (ISO-8859-1): una codificació de 8 bits que cobreix 256 caràcters i afegeix lletres accentuades utilitzades en les llengües d’Europa occidental. Cada caràcter ocupa 1 byte. Els caràcters fora d’aquest conjunt es rebutgen.
Fórmula: longitud en bytes = nombre de bytes que la codificació produeix per a la cadena. Longitud en bits = longitud en bytes × 8.
Els recomptes corresponen només al text. No s’hi afegeix cap marca d’ordre de bytes, de manera que un recompte en UTF-16 o UTF-32 és 2 o 4 bytes més petit que el d’una eina que escriu una marca al principi.
Exemple resolt
El text «Hello, world!» té 13 caràcters, tots lletres i signes de puntuació ASCII bàsics.
- UTF-8: 13 bytes (104 bits), perquè cada caràcter cap en 1 byte.
- UTF-16: 26 bytes (208 bits), perquè cada caràcter ocupa 2 bytes.
El text «こんにちは世界» (set caràcters japonesos) ocupa 3 bytes per caràcter en UTF-8, cosa que dona 21 bytes (168 bits).
Un emoji com 😀 és fora del Pla multilingüe bàsic. Ocupa 4 bytes en UTF-8, 4 bytes en UTF-16 (com a parella de substituts) i 4 bytes en UTF-32.
Per què els enters amb signe canvien el resultat
Els ordinadors emmagatzemen els nombres negatius amb el complement a dos, en lloc d’un simple signe menys. Això vol dir que la longitud en bits d’un enter negatiu no és simplement la longitud en bits del seu valor absolut més un. La regla és que la longitud en bits és el nombre mínim de bits k tal que el valor sigui com a mínim −2^(k−1). Per això −128 (que és igual a −2⁷) cap en 8 bits, mentre que −129 en necessita 9.
Preguntes més freqüents
Com converteixo bytes en bits? Multiplica per 8. Deu bytes equivalen a 80 bits, perquè cada byte conté 8 bits per definició.
Quina diferència hi ha entre la longitud en bits i la longitud en bytes? La longitud en bits compta els dígits binaris individuals. La longitud en bytes compta grups de 8 bits, arrodonits cap amunt fins al byte sencer següent quan la longitud en bits no és múltiple de 8.
Quants bytes utilitza un caràcter UTF-8? Entre 1 i 4. Els caràcters compartits amb ASCII utilitzen 1 byte. Molts caràcters llatins, grecs i ciríl·lics accentuats utilitzen 2 bytes. La majoria de caràcters xinesos, japonesos i coreans utilitzen 3 bytes. Els emoji i altres símbols poc freqüents utilitzen 4 bytes.
Com es calcula la longitud en bytes d’una cadena hexadecimal? Compta els dígits hexadecimals després d’eliminar els espais en blanc, multiplica’ls per 4 per obtenir els bits i, després, arrodoneix cap amunt fins a obtenir bytes sencers. Cada byte equival a 2 dígits hexadecimals, de manera que «FF» és 1 byte i «ABCD» són 2 bytes. Un únic dígit, com ara «F», té 4 bits, que encara ocupen 1 byte.
Per què un enter negatiu de vegades necessita més bits que el seu equivalent positiu? El complement a dos utilitza un bit per indicar el signe, però aquest bit forma part de l’interval de valors, en lloc d’afegir-se per sobre en tots els casos. −128 cap en els mateixos 8 bits que els valors positius fins a 127, però −129 ja no cap en 8 bits i en necessita 9.
Quines mides d’entrada accepta aquesta calculadora? Enters, cadenes hexadecimals i cadenes de text de fins a 1.000.000 caràcters.
Referències
- "Character encoding." Viquipèdia, Wikimedia Foundation. 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." Viquipèdia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Two%27s_complement