Benarkah 1 MB dapat berarti 1000000 byte, 1024000 byte, atau 1048576 byte? [duplikat]

63

Kemungkinan Duplikat:
Apa perbedaan antara kibibyte, satu kilobit, dan satu kilobyte?

Jika 1 KB (kilobyte) dapat berarti 1000 byte atau 1024 byte,

Dan 1 MB (megabyte) dapat berarti 1000 KB atau 1024 KB,

bukankah itu berarti bahwa 1 MB dapat berarti salah satu dari empat MB di bawah ini? :

  1. 1000 × 1000 = 10.00000 byte

  2. 1000 × 1024 = 1024000 byte

  3. 1024 × 1000 = 1024000 byte

  4. 1024 × 1024 = 1048576 byte

Atau 2. dan 3. tidak diterima sehingga 1 MB bisa berarti hanya 1000000 byte dari 1048576 byte?

Pacerier
sumber
3
Apakah Anda tahu ada −0 (nol negatif) dan +0 (nol positif)? en.wikipedia.org/wiki/Signed_zero
Aki
4
Satu-satunya tempat saya melihat berbagai awalan yang dicampur adalah disket 1,44 [sesuatu yang bukan mebibyte dan bukan megabyte].
AndrejaKo
Aki ya tapi saya tidak mengerti apa yang ingin Anda katakan?
Pacerier
"Jika angkanya tidak indah, aku tidak tahu apa itu." - Paul Erdős
Aki
4
Tolong, 'kB', bukan 'KB'.
Andreas Rejbrand

Jawaban:

107

Pertama, ada dua jenis awalan ketika berbicara tentang informasi digital (baca byte ): awalan SI dan awalan biner .

Awalan SI

Awalan SI adalah kekuatan 1.000 (1.000 1 , 1.000 2 , 1.000 3 , dll.):

  • 1 kB = 1 kilobyte = 1.000 1 byte = 1.000 byte;
  • 1 MB = 1 megabita = 1.000 2 byte = 1.000.000 byte;
  • 1 GB = 1 gigabyte = 1.000 3 byte = 1.000.000.000 byte;
  • dan sebagainya .

Seperti yang Anda lihat, hanya simbol SI mega dan di atasnya yang ditulis dengan huruf besar. Oleh karena itu, KB bukan awalan yang valid .

Awalan biner

Awalan biner adalah kekuatan 1.024 (1.024 1 , 1.024 2 , 1.024 3 , dll.):

  • 1 KiB = 1 kibibyte = 1.024 1 byte = 1.024 byte;
  • 1 MiB = 1 mebibyte = 1.024 2 byte = 1.048.576 byte;
  • 1 GiB = 1 gibibyte = 1.024 3 byte = 1.073.741.824 byte;
  • dan sebagainya .

Seperti yang Anda lihat di sini, setiap simbol biner dikapitalisasi dan huruf kecil i ditambahkan sebelum simbol B untuk menunjukkan bahwa kita berbicara tentang kibibytes bukan kilobytes, mebibytes bukannya megabytes, dll.


Namun , awalan biner tidak banyak digunakan, Windows tidak menggunakannya sama sekali.

Apa yang terjadi di sini adalah bahwa Windows memberi tahu kita bahwa hard disk drive memiliki kapasitas 300.066.795.520 byte yang, menurut Windows, sama dengan 279 GB. Namun, kita tahu bahwa jika 1.000.000.000 byte = 1 GB, 300.066.795.520 byte = ~ 300 GB = ~ 279,5 GiB .

Karena itu, jika Anda melihat 1 KB (yang salah, ingat) atau 1 MB, anggap kita berbicara masing-masing tentang 1 kibibyte dan 1 mebibyte. Kb , kb , Gb , gb , dll juga sering, meskipun mereka mewakili bit (8 bit = 1 byte).


Dalam baik , dalam kasus tidak dapat 1 KB atau 1 MB memiliki beberapa nilai, meskipun (buruk) penggunaan tampaknya memberitahu sebaliknya.

serius
sumber
3
Mungkin Anda harus menambahkan, bahwa ketika berbicara tentang kecepatan transfer data (dalam bit / s), seseorang biasanya menggunakan awalan base-10, misalnya Gb / s sebenarnya berarti "satu miliar bit per detik."
Frank
3
Awalan biner relatif baru, dan masih sangat umum untuk menggunakan awalan SI untuk merujuk pada kekuatan 2. Saya pikir banyak orang bahkan tidak menyadari awalan biner. @Novox membuat poin yang baik: bahkan orang yang menggunakan GB berarti 1048576 byte penyimpanan biasanya menggunakan Gb / s berarti 1000000000 bit per detik. Penemuan awalan biner tidak membuat semua penggunaan konsisten.
Keith Thompson
5
@kubanczyk: Saya tidak setuju bahwa itu kemalasan - tetapi kemalasan tidak selalu merupakan hal yang buruk. Kita perlu cara untuk merujuk ke penyimpanan dalam satuan 1024, 1048576, atau 1073741824 byte, dan sebelum penemuan (relatif baru) awalan biner (Ki, Mi, Gi), menggunakan kembali awalan SI (K, M, G) adalah satu - satunya cara yang masuk akal untuk melakukan itu. Dan kami melakukan itu selama bertahun-tahun sehingga awalan K, M, G masih ambigu. Akan lebih baik menggunakan awalan biner dan SI secara konsisten dari awal, tetapi bukan itu yang terjadi.
Keith Thompson
2
@kubanczyk Jangan salah paham, saya / pendukung kuat penggunaan unit yang benar. Namun, saya tidak berpikir bahwa "itu sudah jelas". Jika memang benar, tidak akan ada pertanyaan seperti itu, kan?
Frank
3
Hmmm mari kita coba sebaliknya, ya? Lihat apa yang terjadi dengan 8 bit. Alih-alih menyebutnya decabit dan bersikeras bahwa deca- terkadang berarti dalam IT 8 bukan 10, seseorang menciptakan istilah baru dan menyebutnya byte. Voila! Solusi yang sama dimungkinkan dengan 1024 jika tidak 65536.
kubanczyk
14

Kilobyte adalah pengukuran basis 10, jadi 1 kilobyte = 10 pangkat 3 = 1000 byte.

Meskipun ini tidak cukup akurat untuk secara tepat mengukur data fisik karena mereka disimpan dalam biner yang diukur dalam basis 2, dan dengan demikian kibibyte didirikan pada tahun 1999 untuk menggantikan kilobyte ketika digunakan dalam konteks ilmu komputer yang berarti 1024 byte.

Kibibyte adalah pengukuran basis 2, jadi 1 kibibyte = 2 pangkat 10 = 1024 byte.

Hal yang sama berlaku untuk megabyte (1 megabyte = 10 pangkat 6 = 10.00000 byte), yang basis pengukuran 2 adalah mebibyte (1 mebibyte = 2 pangkat 20 = 1048576 byte)

  • (1) berlaku untuk megabyte
  • (2) dan (3) tidak diterima
  • (4) berlaku untuk mebibyte
asdjaputra
sumber
13
Meskipun ini secara teknis benar, saya ingin menunjukkan bahwa dalam penggunaan umum, tidak ada yang mengatakan kibibyte atau mebibyte, dan ketika berbicara tentang 'kilobyte', orang merujuk ke unit yang ditampilkan Windows atau OS, yaitu kibibyte. Satu-satunya tempat saya secara teratur melihat kilobyte yang digunakan dengan benar adalah pada kapasitas harddisk, yang membuat pengguna frustrasi hingga akhir.
Darth Android
4
Ya, tetapi hanya karena sistem operasi mereka tidak menggunakan awalan SI "dengan benar."
Frank
2
Namun, MB dapat berarti 1.000.000 atau 1.048.576 byte . Meskipun tidak benar , itu adalah luas. CC @DarthAndroid
Daniel Beck
Ah, 1998 ... ketika Pluto adalah sebuah planet dan satu kilobyte adalah 1024 byte.
Skrymsli
9

Saat ini penggunaan "KB", "MB", dll untuk maksud apa pun selain 1000 byte, 1000 x 1000 byte, dll sudah usang dan bertentangan dengan sebagian besar standar resmi. Cara baru untuk mengekspresikan 1024 byte, 1024 x 1024 byte, dll adalah KiB (kibibyte), MiB (mebibyte), dll. Ini berantakan, dan konteks sangat penting untuk memahami apa yang dimaksud. Lihat http://en.wikipedia.org/wiki/Kibibyte untuk diskusi tentang masalah ini.

kreemoweet
sumber
7

Mungkin tidak, karena itu akan menjadi penggunaan awalan yang tidak konsisten dalam satu nomor .

Sementara awalan SI k berarti 1000, tetapi dalam IT sering digunakan untuk berarti 1024 (dengan beberapa awalan biner yang mengadvokasi ), tidak masuk akal untuk alternatif antara arti-arti ini dalam jumlah yang sama .

Daniel Beck
sumber
@JdeBP: Catatan menarik. Itu akan "benar" (dalam arti dasar 2) untuk mengatakan 1440 KB. Saya tidak pernah memikirkan / menyadari campuran dari dua "sistem" di angka 1,44. +1.
BillP3rd
3

Anda benar dalam pertanyaan Anda. 1 dan 4 benar, 2 dan 3 tidak.

Pada dasarnya, Anda mendefinisikan "ribu" yang 1000 atau 1024 dan menggunakannya untuk perkalian. Mereka tidak ditukar.

Dalam basis dua (biner), yang paling dekat dengan 1000 dengan bersih adalah 1024 (2 ^ 10). Ini adalah bagaimana komputer benar-benar memikirkan hal-hal, jadi dalam memori (RAM), misalnya, 1MB akan menjadi 1048576 byte.

Namun, pada basis 10, Anda sebenarnya dapat memiliki 1000. Disk drive berfungsi seperti ini dan pada HDD, biasanya 1MB akan mencapai 10.00000 byte (meskipun solid state berfungsi dalam biner).

Pada dasarnya, itu hanya karena fakta bahwa komputer dan perangkat penyimpanan biasanya bekerja sedikit berbeda, jadi ada definisi yang berbeda untuk hal yang sama.

James Billingham
sumber
1

Jadi, inilah kesepakatannya. (Sebagian) komputer saat ini beroperasi di basis 2, tidak basis 10. (Ya, saya tahu ada yang pengecualian, tetapi mereka benar-benar adalah kasus luar biasa.) Untuk tujuan kita (Anda), semua komputer tujuan umum (dan tentu, semua digunakan konsumen komputer tujuan umum) gunakan basis 2 untuk semua pemrosesan internal. Unit dasar adalah bit yang bisa nol atau satu. Delapan dari ini bersama-sama membuat byte; 16 kata. Sekarang, ini secara umum ... Komputer 32-bit umumnya dianggap menggunakan "kata-kata" 32-bit, komputer 64-bit, kata-kata 64-bit, dan sebagainya. Pernahkah Anda memperhatikan? Ini semua adalah kekuatan 2. Komputer dengan satu "K" atau kilobyte memori akan selalu memiliki 1024 byte memori. Satu megabyte memori akan selalu berarti 1024 x 1024 byte. Sekali lagi, semua adalah kekuatan 2. Jadi komputer dengan 64 MB memori akan selalu memiliki 64 x 1024 x 1024 byte. Ketika Anda melihat komputer diiklankan untuk dijual, kapasitas memori (RAM) akan selalu didasarkan pada kekuatan 2. Anda tidak akan pernah melihat kartu video, misalnya, mengklaim 1GB RAM berarti satu miliar byte.

Di mana kebingungan diperkenalkan, dan apa yang membuat orang gila, adalah ketika produsen disk drive, dalam pencarian mereka untuk menawarkan drive yang lebih besar dan lebih besar berkata, "Hei! Anda tahu, di daerah lain (bukan komputer), K adalah 1000, dan sebuah M adalah 1.000.000. " Jika beberapa orang mendiskusikan harga jual mobil, misalnya, dan yang satu menyarankan, "Saya pikir '8K' terdengar benar," yang lain akan secara otomatis mengerti bahwa '8K' berarti $ 8.000, (bukan $ 8.192). Jadi, produsen disk drive itu berkata, "Mari kita mulai mengiklankan produk kita menggunakan langkah - langkah itu sehingga mereka akan terdengar lebih besar." Tetapi orang-orang legal melangkah dan berkata, "Tunggu sebentar di sini. Hampir setiap orang yang, Anda tahu,bagaimana mereka bekerja akan menangis busuk. "Ke mana orang-orang periklanan pintar menjawab," Tidak masalah. Yah cukup letakkan tanda bintang kecil di sebelah kapasitas pada kotak dan dalam dokumentasi kami yang mengatakan sesuatu seperti '* 1GB = 1.000.000.000 byte'. Masalah terpecahkan. "

Jadi di sinilah kita, dengan semua kebingungan ini. Mengutip dari artikel wiki di atas, dirujuk oleh @kreemoweet,

Dalam kebanyakan kasus, kilobyte terus digunakan untuk merujuk pada kekuatan sepuluh serta kekuatan dua.

Dan kebingungan berlanjut. Untuk tujuan praktis, Anda mungkin harus mengasumsikan bahwa kapasitas disk didasarkan pada basis 10 unit ukuran. Demikian pula, kapasitas RAM akan (mungkin) selalu didasarkan pada basis 2 unit. Untuk jenis perangkat dan produk lain, itu mungkin akan tergantung pada teknologi yang mendasarinya dan apa yang menurut orang-orang periklanan dapat mereka hindari. Lagipula, lebih besar lebih baik, bukan?

Untuk bacaan tambahan, Anda bisa membaca Timeline dari awalan biner . Ini tidak akan membuat hal-hal yang lebih jelas, tetapi adalah menyenangkan membaca.

BillP3rd
sumber
2
apakah Anda yakin itu hanya pemasaran murni? mungkin itu juga terkait dengan struktur / organisasi penyimpanan itu sendiri.
barlop
3
-1 Ini bukan hal pemasaran dan itu tidak membuat disk drive terdengar lebih besar. Itu adalah penjelasan yang disebarkan secara luas tetapi tetap sepenuhnya salah. Ini juga kesimpulan berdasarkan ketidaktahuan subjek. International Electrotechnical Commission dan Institute of Electrical and Electronics Engineers sebenarnya mengemukakan alasannya, yang berkaitan dengan membuat disiplin ilmu teknik yang berbeda berbicara dalam bahasa yang sama dan tidak membingungkan satu sama lain, pada tahun 1997 dalam artikel IEEE Standards Bearer . Ini sangat banyak masalah teknik praktis .
JdeBP
4
Pengalaman saya bekerja untuk Miniscribe dan kemudian Maxtor pada 1980-an dan 90-an sebagai insinyur memberi tahu saya sebaliknya. Sebagai insinyur komputer, kita cenderung condong ke arah kekuatan 2. Satu byte akan selalu menjadi 8 bit. Sebagai @barlop menambahkan, tidak seperti memori komputer utama, memutar disk drive dapat memiliki struktur / organisasi yang beragam. Terlebih lagi karena teknologi penggerak telah maju sedemikian rupa sehingga jumlah sektor per trek bervariasi dari tepi bagian dalam hingga luar permukaan rekaman. Perhatikan bahwa sektor masih memiliki 512 byte. (Kekuatan sial 2 lagi).
BillP3rd
1
Itu adalah kurangnya pengalaman: pandangan sempit dan rabun tentang teknik. Pergi dan baca artikel IEEE Standards Bearer . Persis seperti berkedip, "Tapi orang selalu menggunakan kekuatan dua." berpikir, itu kemudian menjadi sangat salah ketika mengenai mayoritas teknik yang tidak berkedip seperti ini, bahwa ini dan ditujukan tepat. Seperti yang saya katakan, ini adalah masalah teknik praktis , dan Anda ironisnya menunjukkan masalah yang dituju. Ini bukan pemasaran, dan ini bukan tentang membuat sesuatu terdengar lebih besar. Itu sampah total buatan. Jangan percaya itu.
JdeBP
1
@ JdeBP yakin insinyur pasti datang dengan istilah kibibyte dll yang dapat dibuktikan. Dan berapa proporsi insinyur di dunia hard drive yang menggunakannya, saya tidak tahu. Saya pikir mungkin mereka akan tahu berdasarkan konteks apa yang mereka maksud dengan kilobyte dan tidak akan membutuhkan seteguk kibibyte, atau mungkin tidak. Sepertinya BillP3rd berpikir mereka akan tahu dan itu akan menjadi base2, dan Anda pikir mereka perlu menentukan untuk mengetahui di antara mereka sendiri. Tetapi pemasaran akan memilih untuk menggunakan unit yang lebih kecil, awalan desimal pada paket. Saya ingin tahu apakah pemasaran melakukan itu bahkan sebelum artikel IEEE itu.
barlop
0

Ya, karena ini adalah bencana sintaksis. Artikel Wiki ini menjelaskan masalah ini dan menyertakan tabel kata "baru" yang akan digunakan. Di sini, di dunia nyata tidak ada yang menggunakan istilah-istilah itu. Anda harus menggunakan konteks untuk menentukan definisi yang Anda lihat.

Jim B
sumber
4
-1 untuk itu "tidak ada". Saya menggunakannya di sini di dunia nyata, dan saya jauh dari sendirian.
JdeBP
1
Jika rata-rata konsumen bertanya kepada seorang tenaga penjualan kapasitas memori dari sebuah komputer yang mereka pikirkan untuk dibeli dan diberi tahu "4 gibibytes," mereka tidak akan tahu apa yang dimaksud. Demikian pula, sebagian besar orang tidak akan pernah mengucapkan kata-kata dengan keras "gibibyte, tibibyte, pibibyte, etc." Serius, coba ucapkan "gibibyte" dengan keras tiga kali secepat yang Anda bisa. Saya bisa mengatakan itu untuk diri saya sendiri, setidaknya, saya belum pernah mendengarnya. (Untuk konteksnya, saya bekerja untuk perusahaan perangkat lunak besar yang mungkin pernah Anda dengar dan secara rutin menangani volume data dalam skala terabyte dan petabyte.)
BillP3rd
+1 untuk menyebutkan istilah-istilah lucu itu dan yang paling tidak menggunakannya dan menggunakan konteks
barlop
1
"tidak ada" berarti "tidak ada", Nak, dan tidak secara ajaib diubah oleh konteks untuk berarti sesuatu selain apa arti kata itu. Ini kepalsuan namun Anda mencoba memotongnya.
JdeBP
1
@ JdeBP - maaf Jdebp tetapi berharap tidak membuatnya begitu. Keberadaan istilah kibibyte adalah bukti bahwa ada (dan masih) kebingungan tentang apa yang dimaksud. Kami minta maaf Anda telah terjebak dengan istilah ini selama satu dekade (pasti sulit menemukan harddrives dengan nilai-nilai kibibyte pada tahun 2000). Saya juga menyarankan Anda bekerja mengedit artikel wiki yang saya referensikan - jelas mereka semua salah tentang kurangnya penggunaan juga (mereka pasti telah membuat Anda keluar dari daftar pemungutan suara).
Jim B