Kalkulator Panjang Bit dan Byte - Alat Saiz Data Percuma
Kira panjang bit dan byte untuk integer, rentetan heks, dan teks dengan pengekodan UTF-8, UTF-16, ASCII. Alat dalam talian percuma untuk pembangun, saintis data, dan jurutera rangkaian.
Kalkulator Panjang Bit dan Byte
8 bit = 1 bait
Visualisasi
Dokumentasi
Apakah kalkulator panjang bit dan bait?
Kalkulator panjang bit dan bait menentukan jumlah bit dan bait yang diperlukan oleh sekeping data. Bit ialah satu digit binari, 0 atau 1. Bait ialah sekumpulan 8 bit. Kalkulator menerima integer, rentetan heksadesimal atau rentetan teks, lalu melaporkan saiz tepat dalam kedua-dua unit.
Hal ini penting untuk pengaturcaraan, rangkaian dan penyimpanan data. Lajur pangkalan data, paket rangkaian dan fail pada cakera semuanya mempunyai saiz yang diukur dalam bait, dan saiz itu bergantung pada cara data ditulis.
Cara mengira panjang bit bagi integer
Panjang bit bagi integer positif ialah bilangan digit dalam bentuk binarinya. Sebagai contoh, 255 dalam binari ialah 11111111, yang mempunyai 8 digit, maka panjang bitnya ialah 8.
Formula: bagi integer positif n, panjang bit ialah bilangan digit dalam perwakilan asas-2 bagi n. Kes khas n = 0 mempunyai panjang bit 1.
Integer negatif menggunakan pelengkap dua, iaitu cara piawai komputer menyimpan nombor bertanda. Panjang bit bagi integer negatif ialah bilangan bit terkecil yang boleh memuatkannya dalam bentuk pelengkap dua. Sebagai contoh, β128 muat dalam 8 bit (sebagai 10000000), tetapi β129 memerlukan 9 bit kerana 8 bit hanya boleh mencapai nilai serendah β128.
Setelah panjang bit diketahui, panjang bait diperoleh dengan membundarkan ke atas kepada bait penuh yang terdekat:
Panjang bait = βpanjang bit Γ· 8β
Simbol β β bermaksud βbundarkan ke atasβ. Nilai 9 bit masih memerlukan 2 bait penuh kerana bait tidak boleh dibahagi.
Contoh pengiraan
| Integer | Panjang bit | Panjang bait |
|---|---|---|
| 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 |
Cara mengira panjang bit bagi rentetan heksadesimal
Setiap digit heksadesimal (0β9, AβF) mewakili tepat 4 bit kerana 4 bit boleh memuatkan 16 nilai yang mungkin.
Formula: panjang bit = bilangan digit heksadesimal Γ 4. Panjang bait sekali lagi ialah panjang bit dibahagi dengan 8, kemudian dibundarkan ke atas.
Sebagai contoh, rentetan heksadesimal βFFβ mempunyai 2 digit, maka panjang bitnya ialah 2 Γ 4 = 8 bit, atau 1 bait. Rentetan heksadesimal βABCDβ mempunyai 4 digit, menghasilkan 16 bit atau 2 bait. Ruang dan aksara ruang putih lain dibuang sebelum pengiraan. Bilangan digit yang ganjil tetap dibundarkan ke atas kepada bait penuh: βFβ ialah 4 bit, yang dilaporkan oleh kalkulator sebagai 1 bait.
Cara mengira panjang bait bagi rentetan teks
Bagi teks, saiz bergantung pada pengekodan aksara, iaitu peraturan yang digunakan untuk menukar aksara kepada bait. Kalkulator menyokong lima pengekodan:
- UTF-8: pengekodan panjang berubah yang digunakan di seluruh web. Setiap aksara menggunakan 1 hingga 4 bait. Huruf Inggeris biasa, digit dan tanda baca menggunakan 1 bait setiap satu.
- UTF-16: digunakan secara dalaman oleh JavaScript dan Windows. Kebanyakan aksara menggunakan 2 bait; aksara di luar Satah Multibahasa Asas, seperti banyak emoji, menggunakan 4 bait.
- UTF-32: pengekodan panjang tetap. Setiap aksara menggunakan tepat 4 bait, tanpa mengira aksara itu.
- ASCII: pengekodan 7 bit yang merangkumi 128 aksara, terutamanya huruf Inggeris, digit dan tanda baca asas. Setiap aksara menggunakan 1 bait. Mana-mana aksara di luar set ini akan ditolak.
- Latin-1 (ISO-8859-1): pengekodan 8 bit yang merangkumi 256 aksara, termasuk huruf beraksen yang digunakan dalam bahasa Eropah Barat. Setiap aksara menggunakan 1 bait. Aksara di luar set ini akan ditolak.
Formula: panjang bait = bilangan bait yang dihasilkan oleh pengekodan untuk rentetan itu. Panjang bit = panjang bait Γ 8.
Pengiraan ini meliputi teks itu sendiri. Tiada tanda susunan bait ditambahkan, jadi kiraan UTF-16 atau UTF-32 di sini adalah 2 atau 4 bait lebih kecil daripada kiraan alat yang menulis tanda pada permulaan.
Contoh pengiraan
Teks βHello, world!β mempunyai 13 aksara, semuanya huruf dan tanda baca ASCII biasa.
- UTF-8: 13 bait (104 bit), kerana setiap aksara muat dalam 1 bait.
- UTF-16: 26 bait (208 bit), kerana setiap aksara menggunakan 2 bait.
Teks βγγγ«γ‘γ―δΈηβ (tujuh aksara Jepun) menggunakan 3 bait bagi setiap aksara dalam UTF-8, menghasilkan 21 bait (168 bit).
Emoji seperti π berada di luar Satah Multibahasa Asas. Emoji itu menggunakan 4 bait dalam UTF-8, 4 bait dalam UTF-16 (dalam bentuk pasangan pengganti), dan 4 bait dalam UTF-32.
Mengapa integer bertanda mengubah jawapan
Komputer menyimpan nombor negatif menggunakan pelengkap dua, bukannya tanda tolak biasa. Ini bermaksud panjang bit bagi integer negatif bukan sekadar panjang bit magnitudnya ditambah satu. Peraturannya ialah panjang bit ialah bilangan bit k terkecil sehingga nilainya sekurang-kurangnya β2^(kβ1). Oleh itu, β128 (yang sama dengan β2β·) muat dalam 8 bit, manakala β129 memerlukan 9 bit.
Soalan lazim
Bagaimanakah bait ditukar kepada bit? Darabkan dengan 8. Sepuluh bait bersamaan 80 bit kerana setiap bait mengandungi 8 bit mengikut takrif.
Apakah perbezaan antara panjang bit dan panjang bait? Panjang bit mengira setiap digit binari. Panjang bait mengira kumpulan 8 bit, yang dibundarkan ke atas kepada bait penuh seterusnya apabila panjang bit bukan gandaan 8.
Berapakah bait yang digunakan oleh aksara UTF-8? Antara 1 hingga 4. Aksara yang dikongsi dengan ASCII menggunakan 1 bait. Banyak aksara Latin beraksen, Yunani dan Sirilik menggunakan 2 bait. Kebanyakan aksara Cina, Jepun dan Korea menggunakan 3 bait. Emoji dan simbol jarang yang lain menggunakan 4 bait.
Bagaimanakah panjang bait rentetan heksadesimal dikira? Kira digit heksadesimal selepas ruang putih dibuang, darabkan dengan 4 untuk mendapatkan bit, kemudian bundarkan ke atas kepada bait penuh. Setiap bait ialah 2 digit heksadesimal, jadi βFFβ ialah 1 bait dan βABCDβ ialah 2 bait. Satu digit seperti βFβ ialah 4 bit, yang tetap menggunakan 1 bait.
Mengapakah integer negatif kadangkala memerlukan lebih banyak bit daripada padanan positifnya? Pelengkap dua menggunakan satu bit untuk menandakan tanda, tetapi bit itu dikongsi dengan julat nilai dan bukannya ditambah pada setiap keadaan. β128 muat dalam 8 bit yang sama seperti nilai positif sehingga 127, tetapi β129 tidak lagi muat dalam 8 bit dan memerlukan 9.
Apakah saiz input yang diterima oleh kalkulator ini? Integer, rentetan heksadesimal dan rentetan teks sehingga 1,000,000 aksara panjangnya.
Rujukan
- "Character encoding." Wikipedia, 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." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Two%27s_complement