Langkau ke kandungan

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

Jenis Input
bit
8
bait
1

8 bit = 1 bait

Visualisasi

Bait 1
11111111
0xFF
Kalkulator Pemuatan...
πŸ“š

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

IntegerPanjang bitPanjang bait
011
25581
25692
βˆ’12881
βˆ’12992
18,446,744,073,709,551,615 (2⁢⁴ βˆ’ 1)648

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

  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