Ukuran file di Windows tidak masuk akal

18

Di sini saya punya file ini di Windows:

masukkan deskripsi gambar di sini

Tapi bukankah 62.563 byte 62.6 KB?

masukkan deskripsi gambar di sini

Kirk Ouimet
sumber
24
Lihat XKCD # 394
Nick T
6
kemungkinan rangkap dua Apa perbedaan antara kibibyte, satu kilobit, dan satu kilobyte?
Doktoro Reichard
11
Mac menggunakan desimal kilobyte (standar IEC), sedangkan Windows masih menggunakan kilobyte biner (sejak diubah namanya menjadi kibibyte), Linux biasanya merujuk ke KiB (kilobyte biner yang diubah namanya). Secara pribadi, saya pikir ini semua jenis kotoran. Seseorang tidak membeli sebatang RAM dengan 1.000.000.000 byte di dalamnya, tetapi malah membeli sebatang RAM dengan 1.073.741.824 byte. Tetapi ketika Anda membeli hard drive, Anda membelinya dengan 500.000.000.000 byte yang tersedia di dalamnya, meskipun sektor dialokasikan dalam kelipatan 512 byte. Saya menyukai kilobytes saya ketika mereka biner ...
phyrfox
1
@ phyrfox: CPU 1 MHz adalah 1 juta siklus, bukan 1.073.741.824 siklus. Lalu lintas jaringan 1 Mbps juga 1 juta bit.
Zan Lynx
3
@ ZanLynx Mega bukan 1 juta, ini diadaptasi "hebat" dari bahasa Yunani. Juga, sebagaimana adanya, awalan SI hanya masuk akal dengan unit fisik. Tetapi byte dan bit bukanlah unit fisik. Selain itu, karena awalan SI distandarisasi, ada juga standar untuk ukuran memori, yang mendefinisikan arti kilo, mega dan giga masing-masing 1024, 1048576 dan 1073741824.
Ruslan

Jawaban:

53

62.563 byte adalah 61.0966797 kibibytes . The kibi awalan berarti bahwa dasar untuk perhitungan adalah 1024, bi berdiri untuk "binary" karena 2 ^ 10 = 1024 . Ini hanya salah satu dari awalan biner , yang lainnya adalah mebi atau gibi .

Sebaliknya, satu kilobyte adalah 1000 byte, menggunakan awalan SI klasik yang Anda ketahui dari kilometer dan kilogram. Menggunakan basis desimal, 10 ^ 3 = 1000 , jadi Google sebenarnya benar . Jika Anda telah mencari Google dalam jumlah yang sama dalam kibibytes, Anda akan mendapatkan jawaban yang benar dalam terminologi komputasi.

Sangat penting untuk membuat perbedaan antara kilo dan kibi hari ini, dan sebenarnya, Windows harus melaporkannya sebagai "61 KiB" menjadi sangat tepat. Ini adalah konvensi IEC untuk membuat perbedaan itu lebih mudah.

Yang sedang berkata, masih ada banyak ambiguitas hari ini, di mana ukuran hard drive biasanya dilaporkan dalam unit biner (tetapi tidak selalu secara eksplisit), dan kecepatan koneksi diberikan dalam unit SI.

slhck
sumber
1
@ Joker_vD: Untungnya begitu ;-) kilo dan mega (dan apa pun awalan lainnya akan mengikuti) adalah faktor, bukan jumlah mereka sendiri, jadi hanya menggunakan K dan M (dan G dan T dan P dll.) Akan sangat tidak berguna. (Hal yang sama berlaku untuk awalan kibi , mebi dll., Jelas.) Selain itu, semua unit yang biasa digunakan bebas dari ambiguitas, karena tidak ada singkatan yang digunakan dua kali, tetapi K pada pandangan pertama akan terlihat sama dengan K untuk Kelvin .
ATAU Mapper
1
@ORMapper Ya, dan T akan keliru untuk Tesla . Karena jelas, manual programmer sering membahas fisika yang mendasarinya.
Joker_vD
1
@ Joker_vD: Apakah fisika dapat muncul atau tidak ada yang tidak relevan. Intinya adalah, tanda-tanda unit K dan T tidak akan menjadi ambigu tanpa konteks apa pun lagi - sehingga menciptakan kerugian yang tidak dapat disangkal dibandingkan dengan pemetaan unik antara tanda-tanda unit dan unit -, membuat konvensi semacam itu sangat tidak diinginkan.
ATAU Mapper
1
Siapa di luar ceruk dunia komputer yang tahu apa 'kibibyte' itu? Omong-omong, baru-baru ini Google benar. Ini masih menjadi perdebatan yang hidup tentang apakah satu kilobyte adalah 1000 atau 1024 byte.
Justin Krejcha
9
Apakah saya satu-satunya yang sedikit kesal karena ini terpotong menjadi 61.0, daripada dibulatkan menjadi 61.1?
Christofer Ohlsson
22

Ya, anggap google sebagai Mad Hatter. Anda harus mengajukan pertanyaan yang tepat. Atau mungkin Elf: Terkadang jawaban Anda adalah ya dan tidak.

byte ke KiB.  Kilobyte komputer;  atau kibibyte.

Iraedei
sumber
5

1KB = 1024 byte. Jadi:

62563 / 1024 = 61.097KB

Sebagai jalan pintas banyak orang dan sistem memperlakukan KB sebagai 1000 karena Kilo adalah awalan SI untuk 1000. Namun para ilmuwan komputer menggunakan awalan untuk 2 ^ 10 yaitu 1024.

EBGreen
sumber
3

Sebagian besar angka yang berhubungan dengan komputer menggunakan awalan biner, berbeda dengan sistem SI yang menggunakan awalan desimal. Artinya:

  • 1 kilogram = 10 3 gram, tetapi
  • 1 kilobyte = 2 10 byte

Itu masing-masing 1000 gram dan 1024 byte. 62563 / 1024 ~= 61, jadi Windows benar.

Tidak semua yang berhubungan dengan komputer didasarkan pada awalan biner, dan ketidakkonsistenan ini sering mengarah pada kesalahpahaman. Halaman Wikipedia ini menjelaskan awalan apa yang digunakan untuk mengukur hal-hal yang berbeda.

Satu kasus ekstrem adalah bandwidth. Ini biasanya menggunakan awalan biner ketika dinyatakan dalam byte per detik dan awalan desimal ketika dinyatakan dalam bit per detik. Jadi kalimat ini benar:

1 byte per detik = 8 bit per detik

Tapi yang ini salah:

1 kilobyte per detik = 8 kilobit per detik

Karena:

  • 1 KB / dtk = 1024 B / dtk
  • 1 Kbps = 1000 bps

( pertanyaan terkait )

gronostaj
sumber
1
Kesalahan: 2 ^ 8 = 256 ---> Saya kira itu seharusnya 2 ^ 10 ;-)
Hannu
Halaman pembicaraan WP jauh lebih menarik daripada artikel yang sebenarnya (debat yang sangat besar tentang apakah KB 1024 atau 1000 byte).
Justin Krejcha
Bandwidth diekspresikan dengan benar dalam Hz, di mana awalan SI menggunakan kekuatan-of-10. Alasan throughput (kecepatan transfer data, bandwidth yang setara dikalikan dengan efisiensi pengkodean) adalah ambigu adalah karena definisi pertama mengarah ke (KB)/s, di mana KB menggunakan awalan berbasis biner, dan yang kedua didasarkan pada kHz atau kbaud, menggunakan berbasis desimal awalan.
Ben Voigt