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
8 bitov = 1 bajtov
Vizualizacija
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 število | Dolžina v bitih | Dolžina v bajtih |
|---|---|---|
| 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 |
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
- "Character encoding." Wikipedia, fundacija 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, fundacija Wikimedia. https://en.wikipedia.org/wiki/Two%27s_complement