Sari la conținut

Calculator de lungime biți și octeți - Instrument gratuit pentru dimensiunea datelor

Calculați lungimile în biți și octeți pentru întregi, șiruri hexadecimale și text cu codificări UTF-8, UTF-16, ASCII. Instrument online gratuit pentru developeri, oameni de știință ai datelor și ingineri de rețele.

Calculator de Lungime Biți și Octeți

Tip Intrare
biți
8
octeți
1

8 biți = 1 octeți

Vizualizare

Octet 1
11111111
0xFF
Calculator de încărcare...
📚

Documentație

Ce este un calculator pentru lungimea în biți și octeți?

Un calculator pentru lungimea în biți și octeți determină de câți biți și octeți are nevoie o bucată de date. Un bit este o singură cifră binară, 0 sau 1. Un octet este un grup de 8 biți. Calculatorul acceptă un număr întreg, un șir hexazecimal sau un șir de text și raportează dimensiunea exactă în ambele unități.

Acest lucru este important pentru programare, rețele și stocarea datelor. O coloană de bază de date, un pachet de rețea și un fișier de pe disc au toate o dimensiune măsurată în octeți, iar această dimensiune depinde de modul în care sunt scrise datele.

Cum se calculează lungimea în biți a unui număr întreg

Lungimea în biți a unui număr întreg pozitiv este numărul de cifre din forma sa binară. De exemplu, 255 în binar este 11111111, care are 8 cifre, deci lungimea sa în biți este 8.

Formula: pentru un număr întreg pozitiv n, lungimea în biți este numărul de cifre din reprezentarea în baza 2 a lui n. Cazul special n = 0 are lungimea în biți 1.

Numerele întregi negative folosesc complementul față de doi, metoda standard prin care calculatoarele stochează numerele cu semn. Lungimea în biți a unui număr întreg negativ este cel mai mic număr de biți în care acesta poate fi reprezentat în complement față de doi. De exemplu, −128 încape în 8 biți (ca 10000000), dar −129 necesită 9 biți, deoarece 8 biți pot ajunge doar până la −128.

După ce se cunoaște lungimea în biți, lungimea în octeți se determină prin rotunjirea în sus la cel mai apropiat număr întreg de octeți:

Lungimea în octeți = ⌈lungimea în biți ÷ 8⌉

Simbolul ⌈ ⌉ înseamnă „rotunjire în sus”. O valoare de 9 biți necesită tot 2 octeți întregi, deoarece un octet nu poate fi împărțit.

Exemplu de calcul

Număr întregLungime în bițiLungime în octeți
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

Cum se calculează lungimea în biți a unui șir hexazecimal

Fiecare cifră hexazecimală (0–9, A–F) reprezintă exact 4 biți, deoarece 4 biți pot reprezenta 16 valori posibile.

Formula: lungimea în biți = numărul de cifre hexazecimale × 4. Lungimea în octeți este din nou lungimea în biți împărțită la 8, rotunjită în sus.

De exemplu, șirul hexazecimal „FF” are 2 cifre, deci lungimea sa în biți este 2 × 4 = 8 biți, adică 1 octet. Șirul hexazecimal „ABCD” are 4 cifre, ceea ce înseamnă 16 biți, adică 2 octeți. Spațiile și celelalte caractere albe sunt eliminate înainte de numărare. Un număr impar de cifre este în continuare rotunjit în sus la un număr întreg de octeți: „F” are 4 biți, iar calculatorul îl raportează ca 1 octet.

Cum se calculează lungimea în octeți a unui șir de text

Pentru text, dimensiunea depinde de codificarea caracterelor, regula folosită pentru transformarea caracterelor în octeți. Calculatorul acceptă cinci codificări:

  • UTF-8: o codificare cu lungime variabilă, utilizată pe scară largă pe web. Fiecare caracter ocupă între 1 și 4 octeți. Literele englezești obișnuite, cifrele și semnele de punctuație ocupă câte 1 octet.
  • UTF-16: utilizată intern de JavaScript și Windows. Majoritatea caracterelor ocupă 2 octeți; caracterele din afara Planului multilingv de bază, cum sunt multe emoji, ocupă 4 octeți.
  • UTF-32: o codificare cu lungime fixă. Fiecare caracter ocupă exact 4 octeți, indiferent care este.
  • ASCII: o codificare pe 7 biți care acoperă 128 de caractere, în principal litere englezești, cifre și semne de punctuație de bază. Fiecare caracter ocupă 1 octet. Orice caracter din afara acestui set este respins.
  • Latin-1 (ISO-8859-1): o codificare pe 8 biți care acoperă 256 de caractere, adăugând litere cu diacritice utilizate în limbile vest-europene. Fiecare caracter ocupă 1 octet. Caracterele din afara acestui set sunt respinse.

Formula: lungimea în octeți = numărul de octeți produși de codificare pentru șir. Lungimea în biți = lungimea în octeți × 8.

Numărătoarea se referă doar la textul propriu-zis. Nu se adaugă un marcator de ordine a octeților, astfel încât un număr pentru UTF-16 sau UTF-32 este cu 2 sau 4 octeți mai mic decât cel obținut cu un instrument care scrie un astfel de marcator la început.

Exemplu de calcul

Textul „Hello, world!” are 13 caractere, toate litere și semne de punctuație ASCII obișnuite.

  • UTF-8: 13 octeți (104 biți), deoarece fiecare caracter încape într-un 1 octet.
  • UTF-16: 26 octeți (208 biți), deoarece fiecare caracter ocupă 2 octeți.

Textul „こんにちは世界” (șapte caractere japoneze) ocupă 3 octeți per caracter în UTF-8, rezultând 21 octeți (168 biți).

Un emoji precum 😀 se află în afara Planului multilingv de bază. Ocupă 4 octeți în UTF-8, 4 octeți în UTF-16 (ca pereche surogat) și 4 octeți în UTF-32.

De ce numerele întregi cu semn schimbă rezultatul

Calculatoarele stochează numerele negative folosind complementul față de doi, nu un simplu semn minus. Prin urmare, lungimea în biți a unui număr întreg negativ nu este pur și simplu lungimea în biți a valorii sale absolute plus unu. Regula este următoarea: lungimea în biți este cel mai mic număr de biți k pentru care valoarea este cel puțin −2^(k−1). De aceea −128 (care este egal cu −2⁷) încape în 8 biți, în timp ce −129 necesită 9.

Întrebări frecvente

Cum convertesc octeții în biți? Înmulțiți cu 8. Zece octeți sunt egali cu 80 biți, deoarece fiecare octet conține prin definiție 8 biți.

Care este diferența dintre lungimea în biți și lungimea în octeți? Lungimea în biți numără cifrele binare individuale. Lungimea în octeți numără grupuri de 8 biți, rotunjite în sus la următorul octet întreg atunci când lungimea în biți nu este un multiplu de 8.

Câți octeți folosește un caracter UTF-8? Între 1 și 4. Caracterele comune cu ASCII folosesc 1 octet. Multe caractere latine, grecești și chirilice cu diacritice folosesc 2 octeți. Majoritatea caracterelor chinezești, japoneze și coreene folosesc 3 octeți. Emoji și alte simboluri rare folosesc 4 octeți.

Cum se calculează lungimea în octeți a unui șir hexazecimal? Numărați cifrele hexazecimale după eliminarea spațiilor albe, înmulțiți cu 4 pentru a obține biții, apoi rotunjiți în sus la octeți întregi. Fiecare octet are 2 cifre hexazecimale, astfel că „FF” este 1 octet, iar „ABCD” este 2 octeți. O singură cifră, precum „F”, are 4 biți, dar ocupă tot 1 octet.

De ce un număr întreg negativ necesită uneori mai mulți biți decât corespondentul său pozitiv? Complementul față de doi folosește un bit pentru indicarea semnului, dar acel bit este inclus în intervalul de valori, nu adăugat peste acesta în fiecare caz. −128 încape în aceiași 8 biți ca valorile pozitive până la 127, dar −129 nu mai încape în 8 biți și necesită 9.

Ce dimensiuni de intrare acceptă acest calculator? Numere întregi, șiruri hexazecimale și șiruri de text cu o lungime de până la 1.000.000 de caractere.

Referințe

  1. "Character encoding." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Character_encoding
  2. "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
  3. "Two's complement." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Two%27s_complement