Konverter ukuran bita

Mengonversi ukuran data ke unit desimal dan biner sekaligus — KB di sisi KiB — dengan bit, jumlah bita persis, dan yang dilaporkan tiap OS.

Bita persis
1,000,000,000,000
Desimal
Pangkat 1000 — SI, pembuat drive, macOS
  • B1,000,000,000,000
  • KB1,000,000,000
  • MB1,000,000
  • GB1,000
  • TB1
Biner
Pangkat 1024 — IEC, Windows, RAM
  • KiB976,562,500
  • MiB953,674.3164
  • GiB931.3226
Bit
Pangkat 1000 — laju jaringan selalu desimal
  • bit8,000,000,000,000
  • Kb8,000,000,000
  • Mb8,000,000
  • Gb8,000
  • Tb8
Bagaimana alat Anda akan melaporkan ini

Bita yang sama, lima pembacaan. Tak ada yang salah; mereka berbeda soal pembagi, label, atau keduanya.

  • Windows Explorer — membagi dengan 1024, mempertahankan label desimal931 GB
  • macOS Finder — membagi dengan 10001 TB
  • ls -lh, du -h — membagi dengan 1024932G
  • ls --si, du --si — membagi dengan 10001.0T
  • Pembuat drive dan USB — membagi dengan 10001 TB

Apa yang dilakukan alat ini

Ketik sebuah ukuran dalam unit apa pun — 1 TB, 1536 MiB, 900 Mb, atau sekadar angka bita mentah yang disalin dari sebuah daftar berkas — dan ia kembali dikonversi ke kedua sistem unit pada saat yang sama, bersama jumlah bita persis dan cara alat pada mesin Anda masing-masing akan melaporkannya.

Kedua sistem ditampilkan berdampingan ketimbang di balik sebuah sakelar, karena seluruh kesulitan ukuran data adalah bahwa keduanya dipakai dan keduanya menyebut diri hal yang sama. Sebuah angka sendirian tak memberi tahu Anda yang mana yang menghasilkannya.

Mengapa sebuah kilobyte punya dua makna

Komputer mengalamati memori dalam pangkat dua, jadi 1024 adalah angka bulat yang alami bagi sebuah mesin dengan cara yang 1000 tak akan pernah. Sejak awal, "kilo" dipinjam untuk 1024 karena ia cukup dekat dengan seribu SI dan tak ada yang mengharapkan keduanya berpisah. Mereka berpisah.

Galatnya kecil di ujung rendah dan berlipat di setiap langkah. Sebuah kilobyte berbeda 2,4%, sebuah megabyte 4,9%, sebuah gigabyte 7,4%, sebuah terabyte 10%. Pada petabyte kedua jawaban berjarak 12,6%, yang tak lagi sebuah detail pembulatan:

KB    1,000                 KiB    1,024                 # 2.4% apart
MB    1,000,000             MiB    1,048,576             # 4.9%
GB    1,000,000,000         GiB    1,073,741,824         # 7.4%
TB    1,000,000,000,000     TiB    1,099,511,627,776     # 10.0%

Pada 1998 IEC memberi pangkat 1024 nama mereka sendiri — kibibyte, mebibyte, gibibyte, dan simbol KiB, MiB, GiB — persis agar keambiguan bisa ditulis pergi. Nama itu tak pernah populer dalam penggunaan sehari-hari, tetapi simbolnya iya, dan apa pun yang dilabeli KiB tak ambigu. Apa pun yang dilabeli KB masih tidak.

Siapa menghitung dengan cara mana

Pemisahannya tak acak. Ia jatuh kira-kira di sepanjang garis antara perangkat keras yang dialamati dan perangkat keras yang dijual:

  • RAM selalu biner. Sebuah modul memori 16 GB adalah 16 GiB, karena memori dialamati oleh baris dan kolom biner dan tak bisa menjadi angka desimal bulat meski ia mencoba.
  • Drive selalu desimal. Sebuah pembuat yang menjual cakram 1 TB berarti 1.000.000.000.000 bita, dan telah begitu jauh sebelum ada yang mengeluh tentangnya.
  • Windows biner tetapi memakai label desimal. Ia membagi dengan 1024 dan menulis GB, yang menjadi dari mana kebanyakan kebingungan yang benar-benar dialami orang datang.
  • macOS telah desimal sejak Snow Leopard pada 2009. Drive yang sama yang terbaca 931 GB di Windows terbaca 1 TB di sebuah Mac, dan tak satu pun mesin rusak.
  • Alat baris-perintah Linux memberi Anda keduanya: ls -lh dan du -h membagi dengan 1024, dan flag --si pada perintah yang sama membagi dengan 1000.
  • Jaringan selalu desimal, dan menghitung bit ketimbang bita.

Drive 1 TB yang tampil sebagai 931 GB

Ini adalah pertanyaan tunggal paling umum tentang ukuran data, dan jawabannya adalah tak ada ruang yang hilang. Drive menampung persis yang dikatakan kotaknya. Windows cuma membagi bita itu dengan 1024 tiga kali alih-alih dengan 1000, lalu mencetak sebuah label yang mengatakan sebaliknya.

1,000,000,000,000 bytes         # what the manufacturer sold
/ 1024 = 976,562,500 KB         # Windows divides once
/ 1024 = 953,674.32 MB          # twice
/ 1024 = 931.32 GB              # three times, then labels it GB

Drive tak lebih kecil dari yang diiklankan dan sistem operasi tak berbohong tentang jumlah bita. Satu-satunya yang salah adalah labelnya: yang disebut Windows 931 GB sebenarnya 931 GiB, dan 931 GiB adalah 1 TB. Tempel ukuran apa pun ke alat ini dan kedua kolom menampilkan hubungan itu langsung.

Bit dan bita, dan faktor delapan

Sebuah bita adalah delapan bit, dan keduanya dibedakan dalam penulisan hanya oleh besar-kecil satu huruf: sebuah B besar berarti bita, sebuah b kecil berarti bit. Mb dan MB berbeda dengan faktor delapan, yang lebih dari cukup untuk membuat sebuah perhitungan omong kosong.

Ini paling penting untuk kecepatan jaringan, yang dikutip dalam bit per detik sementara ukuran berkas dan kemajuan unduhan dalam bita. Sebuah koneksi 100 Mb/dtk bergerak paling banyak 12,5 MB/dtk, jadi sebuah berkas 1 GB memakan sekitar 80 detik dan bukan 10 yang tampaknya dijanjikan angka. Tak ada yang mencekik Anda; unitnya tak pernah sama.

Bit ditampilkan di sini hanya dalam sistem desimal, dan itu bukan penyederhanaan. Laju jaringan didefinisikan dalam pangkat sepuluh, jadi sebuah megabit adalah sejuta bit di mana pun istilah itu dipakai. IEC memang mendefinisikan unit bit biner, tetapi pada dasarnya tak ada yang memakainya, dan menawarkannya akan mengundang sebuah konversi yang tak ada yang maksudkan.

Mengapa angka di sini persis

Bilangan JavaScript menampung bilangan bulat secara persis hanya sampai sekitar 9 kuadriliun — 2^53. Sebuah exabyte adalah 10^18, jauh melampaui itu, jadi sebuah konverter yang dibangun di atas aritmetika biasa mulai kehilangan digit persis di tempat pertanyaan penyimpanan-besar tinggal, dan melaporkan sebuah jumlah bita yang dengan yakin salah pada beberapa tempat terakhirnya.

Semua di sini memakai bilangan bulat presisi-sembarang sebagai gantinya. Itu juga membeli sesuatu yang kurang jelas: karena setiap faktor yang terlibat adalah pangkat sepuluh atau pangkat dua, dan keduanya membagi secara rata ke suatu pangkat sepuluh, setiap konversi antara unit ini berakhir sebagai desimal terhingga. 1 TB bukan kira-kira 931,32 GiB — ia adalah 931,322574615478515625 GiB, tanpa sisa. Baris di sini dibulatkan untuk dibaca, dan jumlah bita di atasnya adalah seluruh jawabannya.

Pertanyaan yang sering diajukan

Apakah satu kilobyte 1000 bita atau 1024 bita?
Keduanya, bergantung siapa yang menghitung. SI dan pembuat drive memakai 1000; Windows dan ukuran RAM memakai 1024. IEC menamai unit 1024 secara terpisah — kibibyte, mebibyte, gibibyte — yang menghilangkan keambiguan, meski label lama masih ada di mana-mana. Alat ini menampilkan kedua pembacaan sekaligus ketimbang memilih satu.
Mengapa drive 1 TB saya hanya menampilkan 931 GB?
Tak ada yang hilang. Pembuatnya menjual Anda 1.000.000.000.000 bita, menghitung dalam pangkat 1000. Windows membagi itu dengan 1024 tiga kali, mendapat 931,32, lalu melabeli hasilnya GB. Bita yang sama, pembagi berbeda, label yang menyesatkan — yang ditampilkannya kepada Anda sebenarnya 931 GiB.
Apa perbedaan antara MB dan MiB?
Sebuah megabyte adalah 1.000.000 bita dan sebuah mebibyte adalah 1.048.576 bita, jadi MiB sekitar 4,9% lebih besar. MiB tak ambigu menurut definisi; MB hanya tak ambigu jika Anda tahu konvensi mana yang diikuti alat yang mencetaknya.
Mengapa unduhan saya lebih lambat daripada kecepatan koneksi saya?
Biasanya karena keduanya diukur dalam unit berbeda. Kecepatan koneksi dikutip dalam megabit per detik dan unduhan dalam megabita per detik, dan ada delapan bit dalam sebuah bita. Sebuah jalur 100 Mb/dtk mencapai puncak sekitar 12,5 MB/dtk.
Apa arti sebenarnya batas hosting atau unggah 25 MB saya?
Ia bergantung pada layanannya, dan asumsi yang aman adalah angka yang lebih kecil. Jika batasnya ditegakkan sebagai 25 × 1.000.000 bita, sebuah berkas tepat di bawah 25 MiB akan ditolak. Mengonversi ukuran berkas Anda ke kedua kolom di sini menampilkan seketika apakah ia melewati kedua pembacaan.
Bisakah ia menangani ukuran yang sangat besar?
Ya. Aritmetikanya memakai bilangan bulat presisi-sembarang, jadi exabyte, zettabyte, dan yottabyte dikonversi persis ketimbang kehilangan digit terakhirnya seperti bilangan titik-mengambang biasa melampaui 2^53.
Apakah ada yang saya ketik dikirim ke server?
Tidak. Ini aritmetika di browser Anda; tak ada yang diunggah atau dicatat, dan ia bekerja tanpa koneksi jaringan.