Chuyển đổi byte thành megabyte


103

Tôi đã thấy ba cách thực hiện chuyển đổi từ byte sang megabyte:

  1. megabyte = byte / 1000000
  2. megabyte = byte / 1024/1024
  3. megabyte = byte / 1024/1000

Ok, tôi nghĩ số 3 là hoàn toàn sai nhưng tôi đã thấy nó. Tôi nghĩ # 2 là đúng, nhưng tôi đang tìm kiếm một số cơ quan có thẩm quyền được tôn trọng (như W3C, ISO, NIST, v.v.) để làm rõ megabyte nào là megabyte thực sự. Bất cứ ai có thể trích dẫn một nguồn giải thích rõ ràng cách tính toán này được thực hiện?

Câu hỏi bổ sung: nếu # 2 là megabyte thì # 1 và # 3 được gọi là gì?

BTW: Các nhà sản xuất ổ cứng không được coi là cơ quan có thẩm quyền về vấn đề này!


3
Các nhà sản xuất ổ cứng làm tính là chính quyền một ngày này, trong chừng mực sử dụng của họ megabyte để cảm giác bình # 1 được lái xe chấp nhận chuyển đổi đó. Lưu ý rằng hệ điều hành của Microsoft vẫn sử dụng giác quan số 2.
Michael Petrotta

3
# 3 nên được gọi là megabyte mềm. Đĩa mềm 3 ½ inch khá đáng chú ý khi sử dụng cái này (và tôi không nhớ là đã thấy nó ở đâu khác).
Michael Madsen

15
Và bắt buộc: xkcd.com/394
Seva Alekseyev

4
Trời ơi. Giữa điều này và mã hóa văn bản, đôi khi tôi thất vọng về khả năng mệt mỏi của chúng tôi trong việc thêm các đường gấp khúc phức tạp vào những thứ cơ bản nhất.
Paul D. Waite

4
Các nhà sản xuất ổ cứng rất có thể sử dụng # 1 để có được con số cao nhất. Đối với GB chênh lệch là 7% và đối với TB chênh lệch là 10%.
Peter Mortensen

Câu trả lời:


115

Theo truyền thống theo megabyte, chúng tôi có nghĩa là tùy chọn thứ hai của bạn - 1 megabyte = 2 20 byte. Nhưng thực ra nó không chính xác vì mega có nghĩa là 1 000 000. Có một tên tiêu chuẩn mới cho 2 20 byte, đó là mebibyte ( http://en.wikipedia.org/wiki/Mebibyte ) và nó tập hợp sự phổ biến.


10
Tôi đồng ý với tất cả những điều này, ngoại trừ ngụ ý rằng nó đang thu hút rất nhiều sự nổi tiếng. Suy nghĩ của 1024 = K và bạn bè là bất khả xâm phạm. Khi bạn bắt đầu nói "cracker" thay vì "hacker", hãy liên hệ lại với tôi.
TED

5
Sẽ không ủng hộ cho đề cập "mebibyte" dị giáo, nhưng nó mất rất nhiều nỗ lực.
aehiilrs

3
@TED: thực ra, việc sử dụng "hacker" có nghĩa là "kẻ bẻ khóa" là một ví dụ hoàn hảo về việc văn hóa đại chúng ghi đè cách sử dụng mà những người yêu thích công nghệ ưa thích.
Michael Petrotta

2
Đó là cảm giác cá nhân của tôi rằng mebibyte đang thu hút sự nổi tiếng, có thể tôi đã sai. tôi đã thấy trên một số kích thước trang web tải xuống khá phổ biến được hiển thị trong MiB và KiB.
Andrey

1
Vâng, tôi đồng ý với bạn và tôi cũng sử dụng mega 10 base và kibi 2 base và mebi. Đó là tiêu chuẩn IEC cho việc sử dụng hệ mét: đó là tiêu chuẩn cuối cùng và không có quyền sử dụng đá qua nó.
Zan Lynx

27

Có một tiêu chuẩn IEC phân biệt các thuật ngữ, ví dụ: Mebibyte = 1024 ^ 2 byte nhưng Megabyte = 1000 ^ 2 (để tương thích với các đơn vị SI như kilogam trong đó k / M / ... nghĩa là 1000/1000000). Trên thực tế, hầu hết mọi người trong lĩnh vực CNTT sẽ thích Megabyte = 1024 ^ 2 và các nhà sản xuất đĩa cứng sẽ thích Megabyte = 1000 ^ 2 (vì kích thước đĩa cứng sẽ âm thanh lớn hơn chúng).

Trên thực tế, hầu hết mọi người đều bị nhầm lẫn giữa tiêu chuẩn IEC (hệ số 1000) và ý nghĩa truyền thống (hệ số 1024). Nói chung, bạn không nên đặt ra giả định về ý của mọi người. Ví dụ: 128 kBit / s cho MP3 thường có nghĩa là 128000 bit vì hệ số nhân 1000 chủ yếu được sử dụng với các bit đơn vị. Nhưng thường thì người ta gọi 2048 kBit / s bằng 2 MBit / s - khó hiểu hả?

Vì vậy, theo nguyên tắc chung, không tin tưởng vào các đơn vị bit / byte;)


17

BTW: Các nhà sản xuất ổ cứng không được coi là cơ quan có thẩm quyền về vấn đề này!

Ồ, đúng là họ làm (và định nghĩa họ giả định từ SI là định nghĩa chính xác). Về một vấn đề liên quan, hãy xem bài đăng này trên CodingHorror.


4
Xin lỗi downvoter, nhưng định nghĩa của họ về Mega IS là chính xác, bất kể các lập trình viên nghĩ gì. Tôi có thể sống với M = 2 ^ 20, tốt, nhưng đó chỉ là vì lý do lịch sử.
Federico A. Ramponi

+1 cho niềm đam mê đứng cùng các công ty HD và tiêu chuẩn SI so với những người khác!
Jeffrey L Whitledge

11
Cảm ơn Jeffrey :), nhưng không chỉ các công ty HD: CPU của bạn làm 2600 MHz; Bộ xử lý toán học của bạn thực hiện XY Mflops; Ethernet 100 Mbit / s; Máy ảnh của bạn có 5 Mpixel; Tốc độ 1x của Blu-ray là 36 Mbit / s ... Tất cả những chữ "M" này đại diện cho 10 ^ 6, không phải 2 ^ 20.
Federico A. Ramponi

-1 Tôi không chắc mình làm theo câu trả lời này. Nhà sản xuất ổ cứng nào đã đưa ra định nghĩa? Tôi không nghĩ CodingHorror tạo ra ổ cứng? Tôi đang tìm kiếm một cơ quan có thẩm quyền và một nhà sản xuất ổ cứng sẽ có quá nhiều thành kiến ​​để khách quan.
User1

1
"Cơ quan" hỗ trợ M = 10 ^ 6 là Văn phòng Trọng lượng và Đo lường Quốc tế. Theo như tôi biết, không có "thẩm quyền" nào, ngoài tùy chỉnh, hỗ trợ M = 2 ^ 20.
Federico A. Ramponi

16

Chia cho lũy 2thừa 20, (1024*1024)byte = 1megabyte

1024*1024 = 1,048,576   
2^20 = 1,048,576
1,048,576/1,048,576 = 1  

Đó là điều tương tự.



3

Câu trả lời là số 1 đúng về mặt kỹ thuật dựa trên ý nghĩa thực sự của tiền tố Mega, tuy nhiên (và trong cuộc sống luôn có điều đó) tuy nhiên, phép toán cho điều đó không được tốt cho lắm trong cơ số 2, đó là cách máy tính đếm. , vì vậy # 2 là những gì mọi người thực sự sử dụng.


2

Sử dụng tính toán mà người dùng của bạn rất có thể mong đợi. Người dùng của bạn có quan tâm đến việc có bao nhiêu byte thực tế trên đĩa hoặc trong bộ nhớ hay bất cứ thứ gì hay họ chỉ quan tâm đến dung lượng có thể sử dụng? Câu trả lời cho câu hỏi đó sẽ cho bạn biết phép tính nào hợp lý nhất.

Đây không phải là một câu hỏi chính xác nhiều như một câu hỏi về khả năng sử dụng. Cung cấp phép tính hữu ích nhất cho người dùng của bạn.


1

Megabyte có nghĩa là 2 ^ 20 byte. Tôi biết rằng về mặt kỹ thuật điều đó không khớp với đơn vị SI và một số người đã nghĩ ra một thuật ngữ mới có nghĩa là 2 ^ 20. Không có vấn đề gì trong số đó. Những nỗ lực thay đổi ngôn ngữ để "làm rõ" mọi thứ đều thất bại.

Các nhà sản xuất ổ cứng sử dụng nó có nghĩa là 1.000.000 byte, bởi vì đó là ý nghĩa của nó trong SI nên họ nghĩ về mặt kỹ thuật là họ không nói dối (trong khi thực tế là như vậy). Điều đó nằm dưới sự dối trá, dối trá và tiếp thị.


0

Nói chung, thật sai lầm khi sử dụng các tiền tố SI thập phân (ví dụ: kilo, mega) khi đề cập đến kích thước dữ liệu nhị phân (ngoại trừ trường hợp sử dụng thông thường). Nó không rõ ràng và gây nhầm lẫn. Để chính xác, bạn có thể sử dụng tiền tố nhị phân (ví dụ: 1 mebibyte = 1 MiB = 1024 kibibyte = 2 ^ 20 byte). Khi người khác sử dụng tiền tố SI thập phân cho dữ liệu nhị phân, bạn cần lấy thêm thông tin trước khi có thể biết ý nghĩa của nó.

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.