Kích thước tệp trong Windows không có ý nghĩa


17

Ở đây tôi có tệp này trong Windows:

enter image description here

Nhưng không phải là 62.563 byte 62.6 KB?

enter image description here




11
Mac sử dụng kilobyte thập phân (tiêu chuẩn IEC), trong khi Windows vẫn sử dụng kilobyte nhị phân (từ được đổi tên thành kibibytes), Linux thường đề cập đến KiB (kilobyte nhị phân được đổi tên). Cá nhân, tôi nghĩ rằng đây là tất cả các loại muck lên. Người ta không mua một thanh RAM có 1.000.000.000 byte trong đó, mà thay vào đó mua một thanh RAM có 1.073.741.824 byte. Nhưng khi bạn mua một ổ đĩa cứng, bạn mua nó với 500.000.000.000.000 byte có sẵn trên đó, mặc dù các lĩnh vực được phân bổ theo bội số 512 byte. Tôi thích kilobyte của tôi khi chúng là nhị phân ...
phyrfox

1
@phyrfox: 1 MHz CPU là 1 triệu chu kỳ, không phải 1.073.741.824 chu kỳ. 1 Mbps lưu lượng mạng cũng là 1 triệu bit.
Zan Lynx

3
@ZanLynx Mega không phải là 1 triệu, nó được điều chỉnh "tuyệt vời" từ tiếng Hy Lạp. Ngoài ra, như chúng là, tiền tố SI chỉ có ý nghĩa với các đơn vị vật lý. Nhưng byte và bit không phải là đơn vị vật lý. Hơn nữa, khi các tiền tố SI được chuẩn hóa, cũng có một Tiêu chuẩn đối với kích thước bộ nhớ, xác định ý nghĩa của kilo, mega và giga tương ứng là 1024, 1048576 và 1073741824.
Ruslan

Câu trả lời:


53

62,563 byte là 61,0966797 tế bào kibibytes . Các kibi tiền tố có nghĩa là cơ sở để tính toán là 1024, bi viết tắt của "nhị phân" vì 2 ^ 10 = 1024 . Nó chỉ là một trong những tiền tố nhị phân , những người khác mebi hoặc là gibi .

Mặt khác, một kilobyte là 1000 byte, sử dụng các tiền tố SI cổ điển mà bạn biết từ km và kilôgam. Đó là sử dụng cơ sở thập phân, 10 ^ 3 = 1000 Google thực sự đúng . Nếu bạn đã sử dụng cùng một lượng kibibytes, bạn sẽ có câu trả lời đúng trong thuật ngữ điện toán.

Điều thực sự quan trọng để phân biệt giữa kilo và kibi ngày nay và thực sự, Windows nên báo cáo là "61 KiB" để hoàn toàn chính xác. Đây là quy ước IEC để làm cho sự khác biệt dễ dàng hơn.

Điều đó đang được nói, ngày nay vẫn còn rất nhiều sự mơ hồ, trong đó kích thước ổ cứng thường được báo cáo theo đơn vị nhị phân (nhưng không phải lúc nào cũng rõ ràng) và tốc độ kết nối được tính theo đơn vị SI.


1
@Joker_vD: May mắn thay ;-) kilo lớn (và bất kỳ tiền tố nào khác sẽ tuân theo) chỉ là các yếu tố, không phải số lượng của chính chúng, vì vậy chỉ sử dụng K M (và G T P v.v.) sẽ khá vô nghĩa. (Tương tự là hợp lệ cho các tiền tố kibi , mebi v.v., rõ ràng.) Hơn nữa, tất cả các đơn vị thường được sử dụng đều không có sự mơ hồ, vì không có chữ viết tắt nào được sử dụng hai lần, nhưng K thoạt nhìn trông giống như K cho Kelvin .
O. R. Mapper

1
@ O.R.Mapper Có, và T sẽ bị nhầm lẫn với Tesla . Bởi vì rõ ràng, hướng dẫn của lập trình viên thường thảo luận về vật lý cơ bản.
Joker_vD

1
@Joker_vD: Việc vật lý có thể xuất hiện hay không là không liên quan. Vấn đề là, dấu hiệu đơn vị K T sẽ không rõ ràng nếu không có bất kỳ bối cảnh nào nữa - do đó tạo ra nhược điểm không thể phủ nhận so với ánh xạ duy nhất giữa các dấu hiệu đơn vị và đơn vị -, khiến cho một quy ước như vậy rất không mong muốn.
O. R. Mapper

1
Ai ở ngoài một thị trường ngách của thế giới máy tính biết 'kibibyte' là gì? Nhân tiện, chỉ gần đây Google mới 'đúng'. nó là vẫn một cuộc tranh luận rất sôi nổi về việc một kilobyte là 1000 hay 1024 byte.
a--

9
Tôi có phải là người duy nhất buồn bã rằng điều này bị cắt ngắn thành 61.0, thay vì làm tròn thành 61.1 không?
Christofer Ohlsson

22

Vâng, hãy nghĩ về google như Mad Hatter. Bạn phải đặt câu hỏi đúng. Hoặc có lẽ là một Elf: Đôi khi câu trả lời của bạn sẽ có cả có và không.

byte to KiB. The computer's kilobyte; or the kibibyte.


5

1KB = 1024 byte. Như vậy:

62563 / 1024 = 61.097KB

Là một lối tắt, nhiều người và hệ thống coi KB là 1000 vì Kilo là tiền tố SI cho 1000. Tuy nhiên, các nhà khoa học máy tính sử dụng tiền tố cho 2 ^ 10 là 1024.


3

Hầu hết các số liên quan đến máy tính sử dụng tiền tố nhị phân, trái ngược với hệ thống SI sử dụng tiền tố thập phân. Nó có nghĩa là:

  • 1 ký tự = 10 3 gam, nhưng
  • 1 kilobyte = 2 10 byte

Đó là 1000 gram và 1024 byte tương ứng. 62563 / 1024 ~= 61Vì vậy, Windows là đúng.

Tuy nhiên, không phải mọi thứ liên quan đến máy tính đều dựa trên tiền tố nhị phân và sự không nhất quán này thường dẫn đến sự hiểu lầm. Trang Wikipedia này mô tả những tiền tố nào được sử dụng để đo lường những thứ khác nhau.

Một trường hợp cực đoan là băng thông. Nó thường sử dụng tiền tố nhị phân khi được biểu thị bằng byte trên giây và tiền tố thập phân khi được biểu thị bằng bit trên giây. Vì vậy, câu này là đúng:

1 byte mỗi giây = 8 bit mỗi giây

Nhưng điều này là sai:

1 kilobyte mỗi giây = 8 kilobit mỗi giây

Bởi vì:

  • 1 KB / s = 1024 B / s
  • 1 Kb / giây = 1000 bps

( câu hỏi liên quan )


1
Sai lầm: 2 ^ 8 = 256 --- & gt; Tôi cho rằng nên là 2 ^ 10 ;-)
Hannu

Trang thảo luận WP thú vị hơn nhiều so với bài viết thực tế (một cuộc tranh luận rất lớn về việc KB là 1024 hay 1000 byte).
a--

Băng thông được biểu thị chính xác bằng Hz, trong đó tiền tố SI sử dụng lũy ​​thừa 10. Lý do thông lượng (tốc độ truyền dữ liệu, băng thông tương đương nhân với hiệu quả mã hóa) không rõ ràng là do định nghĩa đầu tiên dẫn đến (KB)/s, trong đó KB sử dụng tiền tố dựa trên nhị phân và thứ hai dựa trên kHz hoặc kbaud, sử dụng tiền tố dựa trên thập phân.
Ben Voigt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.