Pāriet uz saturu

Bitu un baitu garuma kalkulators - Bezmaksas datu izmēra rīks

Aprēķiniet bitu un baitu garumus veseliem skaitļiem, heksadecimālām virknēm un tekstam ar UTF-8, UTF-16, ASCII kodējumiem. Bezmaksas tiešsaistes rīks izstrādātājiem, datu zinātniekiem un tīkla inženieriem.

Bitu un baitu garuma kalkulators

Ievades tips
biti
8
baiti
1

8 biti = 1 baiti

Vizualizācija

Baits 1
11111111
0xFF
Ielādes kalkulators...
📚

Dokumentācija

Kas ir bitu un baitu garuma kalkulators?

Bitu un baitu garuma kalkulators nosaka, cik bitu un baitu nepieciešams datu fragmentam. Bits ir viens binārs cipars — 0 vai 1. Baits ir 8 bitu grupa. Kalkulators pieņem veselu skaitli, heksadecimālu virkni vai teksta virkni un norāda precīzu izmēru abās mērvienībās.

Tas ir svarīgi programmēšanā, datortīklos un datu glabāšanā. Datu bāzes kolonnas, tīkla paketes un diskā esoša faila izmēru mēra baitos, un šis izmērs ir atkarīgs no tā, kā dati ir pierakstīti.

Kā aprēķināt vesela skaitļa bitu garumu

Pozitīva vesela skaitļa bitu garums ir ciparu skaits tā binārajā pierakstā. Piemēram, 255 binārajā sistēmā ir 11111111, kam ir 8 cipari, tāpēc tā bitu garums ir 8.

Formula: pozitīva vesela skaitļa n bitu garums ir ciparu skaits skaitļa n pierakstā bāzē 2. Īpašajā gadījumā, kad n = 0, bitu garums ir 1.

Negatīviem veseliem skaitļiem izmanto divnieka papildkodu — standarta veidu, kā datori glabā skaitļus ar zīmi. Negatīva vesela skaitļa bitu garums ir mazākais bitu skaits, ar ko to var attēlot papildkoda formā. Piemēram, −128 ietilpst 8 bitos (kā 10000000), bet −129 nepieciešami 9 biti, jo ar 8 bitiem var attēlot skaitļus tikai līdz −128.

Kad bitu garums ir zināms, baitu garumu nosaka, noapaļojot uz augšu līdz tuvākajam veselajam baitu skaitam:

Baitu garums = ⌈bitu garums ÷ 8⌉

Simbols ⌈ ⌉ nozīmē “noapaļot uz augšu”. Arī 9 bitu vērtībai nepieciešami 2 pilni baiti, jo baitu nevar sadalīt.

Aprēķina piemērs

Vesels skaitlisBitu garumsBaitu garums
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

Kā aprēķināt heksadecimālas virknes bitu garumu

Katrs heksadecimālais cipars (0–9, A–F) atbilst tieši 4 bitiem, jo 4 biti var ietvert 16 iespējamās vērtības.

Formula: bitu garums = heksadecimālo ciparu skaits × 4. Arī baitu garumu iegūst, bitu garumu dalot ar 8 un noapaļojot uz augšu.

Piemēram, heksadecimālajā virknē “FF” ir 2 cipari, tāpēc tās bitu garums ir 2 × 4 = 8 biti jeb 1 baits. Virknē “ABCD” ir 4 cipari, kas dod 16 bitus jeb 2 baitus. Pirms skaitīšanas atstarpes un citas tukšumzīmes tiek noņemtas. Arī nepāra ciparu skaits tiek noapaļots uz augšu līdz veselam baitu skaitam: “F” ir 4 biti, ko kalkulators uzrāda kā 1 baitu.

Kā aprēķināt teksta virknes baitu garumu

Teksta izmērs ir atkarīgs no rakstzīmju kodējuma — noteikuma, pēc kura rakstzīmes pārvērš baitos. Kalkulators atbalsta piecus kodējumus:

  • UTF-8: mainīga garuma kodējums, ko izmanto visā tīmeklī. Katra rakstzīme aizņem no 1 līdz 4 baitiem. Parastie angļu burti, cipari un pieturzīmes aizņem pa 1 baitam.
  • UTF-16: izmanto JavaScript un Windows iekšējām vajadzībām. Lielākā daļa rakstzīmju aizņem 2 baitus; rakstzīmes ārpus pamata daudzvalodu plaknes, piemēram, daudzas emocijzīmes, aizņem 4 baitus.
  • UTF-32: fiksēta garuma kodējums. Katra rakstzīme neatkarīgi no tās veida aizņem tieši 4 baitus.
  • ASCII: 7 bitu kodējums, kas aptver 128 rakstzīmes, galvenokārt angļu burtus, ciparus un pamata pieturzīmes. Katra rakstzīme aizņem 1 baitu. Jebkura rakstzīme, kas nav šajā kopā, tiek noraidīta.
  • Latin-1 (ISO-8859-1): 8 bitu kodējums, kas aptver 256 rakstzīmes, tostarp Rietumeiropas valodās lietotos burtus ar diakritiskajām zīmēm. Katra rakstzīme aizņem 1 baitu. Rakstzīmes, kas nav šajā kopā, tiek noraidītas.

Formula: baitu garums = baitu skaits, ko kodējums izveido no virknes. Bitu garums = baitu garums × 8.

Skaitļi attiecas tikai uz pašu tekstu. Baitu secības marķieris netiek pievienots, tāpēc UTF-16 vai UTF-32 skaits šeit ir par 2 vai 4 baitiem mazāks nekā rīkā, kas marķieri ieraksta sākumā.

Aprēķina piemērs

Tekstā “Hello, world!” ir 13 rakstzīmes, un tās visas ir parastas ASCII rakstzīmes — burti un pieturzīmes.

  • UTF-8: 13 baiti (104 biti), jo katra rakstzīme ietilpst 1 baitā.
  • UTF-16: 26 baiti (208 biti), jo katra rakstzīme aizņem 2 baitus.

Teksts “こんにちは世界” (septiņas japāņu rakstzīmes) UTF-8 kodējumā aizņem 3 baitus uz rakstzīmi, kopā 21 baitus (168 bitus).

Emocijzīme, piemēram, 😀, atrodas ārpus pamata daudzvalodu plaknes. UTF-8 kodējumā tā aizņem 4 baitus, UTF-16 kodējumā — 4 baitus (kā surogātpāris), bet UTF-32 kodējumā — 4 baitus.

Kāpēc veseli skaitļi ar zīmi maina rezultātu

Datori negatīvus skaitļus glabā, izmantojot divnieka papildkodu, nevis parastu mīnusa zīmi. Tāpēc negatīva vesela skaitļa bitu garums nav vienkārši tā absolūtās vērtības bitu garums plus viens. Noteikums ir šāds: bitu garums ir mazākais bitu skaits k, kuram vērtība ir vismaz −2^(k−1). Tāpēc −128 (kas ir vienāds ar −2⁷) ietilpst 8 bitos, bet −129 nepieciešami 9 biti.

Biežāk uzdotie jautājumi

Kā pārvērst baitus bitos? Reiziniet ar 8. Desmit baiti ir 80 biti, jo pēc definīcijas katrā baitā ir 8 biti.

Kāda ir atšķirība starp bitu garumu un baitu garumu? Bitu garums skaita atsevišķus bināros ciparus. Baitu garums skaita 8 bitu grupas, noapaļojot uz augšu līdz nākamajam veselajam baitam, ja bitu garums nav 8 daudzkārtnis.

Cik baitu aizņem UTF-8 rakstzīme? No 1 līdz 4 baitiem. Rakstzīmes, kas ir kopīgas ar ASCII, aizņem 1 baitu. Daudzas latīņu, grieķu un kirilicas rakstzīmes ar diakritiskajām zīmēm aizņem 2 baitus. Lielākā daļa ķīniešu, japāņu un korejiešu rakstzīmju aizņem 3 baitus. Emocijzīmes un citi reti simboli aizņem 4 baitus.

Kā aprēķina heksadecimālas virknes baitu garumu? Pēc atstarpju noņemšanas saskaita heksadecimālos ciparus, reizina ar 4, lai iegūtu bitu skaitu, un pēc tam noapaļo uz augšu līdz veselam baitu skaitam. Katrs baits ir 2 heksadecimālie cipari, tāpēc “FF” ir 1 baits, bet “ABCD” ir 2 baiti. Viens cipars, piemēram, “F”, ir 4 biti, taču tas joprojām aizņem 1 baitu.

Kāpēc negatīvam veselam skaitlim dažkārt nepieciešams vairāk bitu nekā tā pozitīvajam ekvivalentam? Papildkodā vienu bitu izmanto zīmes apzīmēšanai, taču šis bits ir kopīgs ar vērtību diapazonu, nevis tiek katrā gadījumā pievienots papildus. −128 ietilpst tajos pašos 8 bitos kā pozitīvas vērtības līdz 127, bet −129 vairs neietilpst 8 bitos un tam nepieciešami 9 biti.

Kādus ievades izmērus šis kalkulators pieņem? Veselus skaitļus, heksadecimālas virknes un teksta virknes, kuru garums nepārsniedz 1 000 000 rakstzīmes.

Literatūras saraksts

  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