Preskoči na vsebino

Kalkulator dolžine bitov in bajtov - Brezplačno orodje za velikost podatkov

Izračunajte dolžine bitov in bajtov za celoštevilske vrednosti, heksadecimalne nize in besedilo z UTF-8, UTF-16, ASCII kodiranji. Brezplačno spletno orodje za razvijalce, podatkovne znanstvenike in omrežne inženirje.

Kalkulator dolžine bitov in bajtov

Vrsta vnosa
bitov
8
bajtov
1

8 bitov = 1 bajtov

Vizualizacija

Bajt 1
11111111
0xFF
Kalkulator nalaganja...
📚

Dokumentacija

Kaj je kalkulator dolžine v bitih in bajtih?

Kalkulator dolžine v bitih in bajtih ugotovi, koliko bitov in bajtov potrebuje določen podatek. Bit je ena sama binarna števka, 0 ali 1. Bajt je skupina 8 bitov. Kalkulator sprejme celo število, šestnajstiški niz ali besedilni niz ter izpiše natančno velikost v obeh enotah.

To je pomembno pri programiranju, omrežjih in shranjevanju podatkov. Stolpec zbirke podatkov, omrežni paket in datoteka na disku imajo velikost, merjeno v bajtih, ta velikost pa je odvisna od načina zapisa podatkov.

Kako izračunati dolžino celega števila v bitih

Dolžina pozitivnega celega števila v bitih je število števk v njegovi binarni obliki. Na primer, 255 je v dvojiškem zapisu 11111111, kar ima 8 števk, zato je njegova dolžina 8 bitov.

Formula: za pozitivno celo število n je dolžina v bitih enaka številu števk v zapisu števila n z osnovo 2. V posebnem primeru n = 0 je dolžina 1 bit.

Negativna cela števila uporabljajo dvojiški komplement, standardni način, s katerim računalniki shranjujejo predznačena števila. Bitna dolžina negativnega celega števila je najmanjše število bitov, v katerem je mogoče negativno celo število predstaviti v obliki dvojiškega komplementa. Na primer, −128 se prilega v 8 bitov (kot 10000000), medtem ko −129 potrebuje 9 bitov, ker 8 bitov sega navzdol le do −128.

Ko je dolžina v bitih znana, dolžino v bajtih dobimo tako, da jo zaokrožimo navzgor na najbližji celoštevilski bajt:

Dolžina v bajtih = ⌈dolžina v bitih ÷ 8⌉

Simbol ⌈ ⌉ pomeni »zaokroži navzgor«. Vrednost z 9 biti še vedno potrebuje 2 polna bajta, ker bajta ni mogoče razdeliti.

Rešen primer

Celo številoDolžina v bitihDolžina v bajtih
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

Kako izračunati dolžino šestnajstiškega niza v bitih

Vsaka šestnajstiška števka (0–9, A–F) predstavlja natanko 4 bite, ker lahko 4 biti vsebujejo 16 možnih vrednosti.

Formula: dolžina v bitih = število šestnajstiških števk × 4. Dolžina v bajtih je spet enaka dolžini v bitih, deljeni z 8 in zaokroženi navzgor.

Šestnajstiški niz »FF« ima na primer 2 števki, zato je njegova dolžina v bitih 2 × 4 = 8 bitov oziroma 1 bajt. Šestnajstiški niz »ABCD« ima 4 števke, kar pomeni 16 bitov oziroma 2 bajta. Presledki in drugi beli znaki se pred štetjem odstranijo. Tudi liho število števk se zaokroži navzgor na celo število bajtov: »F« ima 4 bite, kalkulator pa ga prikaže kot 1 bajt.

Kako izračunati dolžino besedilnega niza v bajtih

Pri besedilu je velikost odvisna od kodiranja znakov, torej pravila, po katerem se znaki pretvorijo v bajte. Kalkulator podpira pet kodiranj:

  • UTF-8: kodiranje spremenljive dolžine, ki se uporablja po vsem spletu. Vsak znak zavzame od 1 do 4 bajte. Navadne angleške črke, števke in ločila zavzamejo po 1 bajt.
  • UTF-16: uporablja se interno v JavaScriptu in sistemu Windows. Večina znakov zavzame 2 bajta; znaki zunaj osnovne večjezične ravnine, na primer številni emodžiji, zavzamejo 4 bajte.
  • UTF-32: kodiranje s fiksno dolžino. Vsak znak zavzame natanko 4 bajte, ne glede na to, kateri znak je.
  • ASCII: 7-bitno kodiranje, ki zajema 128 znakov, predvsem angleške črke, števke in osnovna ločila. Vsak znak zavzame 1 bajt. Vsak znak zunaj te množice je zavrnjen.
  • Latin-1 (ISO-8859-1): 8-bitno kodiranje, ki zajema 256 znakov, vključno z naglašenimi črkami, ki se uporabljajo v zahodnoevropskih jezikih. Vsak znak zavzame 1 bajt. Znaki zunaj te množice so zavrnjeni.

Formula: dolžina v bajtih = število bajtov, ki jih kodiranje ustvari za niz. Dolžina v bitih = dolžina v bajtih × 8.

Število vključuje samo besedilo. Označba vrstnega reda bajtov ni dodana, zato je število bajtov pri UTF-16 ali UTF-32 tukaj za 2 oziroma 4 bajte manjše od števila, ki ga vrne orodje, ki na začetek zapiše takšno oznako.

Rešen primer

Besedilo »Hello, world!« ima 13 znakov, vsi pa so običajni znaki ASCII: črke in ločila.

  • UTF-8: 13 bajtov (104 bitov), saj se vsak znak prilega v 1 bajt.
  • UTF-16: 26 bajtov (208 bitov), saj vsak znak zavzame 2 bajta.

Besedilo »こんにちは世界« (sedem japonskih znakov) zavzame 3 bajte na znak v UTF-8, kar pomeni 21 bajtov (168 bitov).

Emodži, kot je 😀, je zunaj osnovne večjezične ravnine. V UTF-8 zavzame 4 bajte, v UTF-16 4 bajte (kot nadomestni par) in v UTF-32 4 bajte.

Zakaj predznačena cela števila spremenijo rezultat

Računalniki shranjujejo negativna števila z dvojiškim komplementom, ne z navadnim predznakom minus. Zato dolžina negativnega celega števila v bitih ni preprosto dolžina absolutne vrednosti v bitih, povečana za ena. Pravilo je: dolžina v bitih je najmanjše število bitov k, za katero je vrednost vsaj −2^(k−1). Zato se −128 (kar je enako −2⁷) prilega v 8 bitov, medtem ko −129 potrebuje 9 bitov.

Pogosta vprašanja

Kako pretvorim bajte v bite? Pomnožite z 8. Deset bajtov je enako 80 bitom, ker vsak bajt po definiciji vsebuje 8 bitov.

Kakšna je razlika med dolžino v bitih in dolžino v bajtih? Dolžina v bitih šteje posamezne binarne števke. Dolžina v bajtih šteje skupine po 8 bitov in se zaokroži navzgor na naslednji cel bajt, kadar dolžina v bitih ni večkratnik števila 8.

Koliko bajtov zavzame znak UTF-8? Od 1 do 4. Znaki, ki so skupni ASCII-ju, zavzamejo 1 bajt. Številni naglašeni latinični, grški in cirilični znaki zavzamejo 2 bajta. Večina kitajskih, japonskih in korejskih znakov zavzame 3 bajte. Emodžiji in drugi redki simboli zavzamejo 4 bajte.

Kako se izračuna dolžina šestnajstiškega niza v bajtih? Po odstranitvi belih znakov preštejte šestnajstiške števke, njihovo število pomnožite s 4, da dobite bite, nato pa rezultat zaokrožite navzgor na celo število bajtov. Vsak bajt ustreza 2 šestnajstiškima števkama, zato je »FF« 1 bajt, »ABCD« pa 2 bajta. Posamezna števka, kot je »F«, ima 4 bite, vendar še vedno zasede 1 bajt.

Zakaj negativno celo število včasih potrebuje več bitov kot njemu ustrezna pozitivna vrednost? Dvojiški komplement uporablja en bit za označevanje predznaka, vendar se ta bit deli z razponom vrednosti, namesto da bi bil v vsakem primeru dodan. −128 se prilega v istih 8 bitov kot pozitivne vrednosti do 127, vendar −129 ne gre več v 8 bitov in potrebuje 9 bitov.

Katere velikosti vhodnih podatkov sprejema ta kalkulator? Cela števila, šestnajstiške nize in besedilne nize, dolge največ 1.000.000 znakov.

Viri

  1. "Character encoding." Wikipedia, fundacija Wikimedia. 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, fundacija Wikimedia. https://en.wikipedia.org/wiki/Two%27s_complement