2012-01-18 56 views
12

Gần đây tôi đã phát hiện ra rằng MB/s là kỹ thuật tương đương với 8 triệu bit/s và không phải là 1024^2 bit mỗi giây mà nên được gọi là Mebibyte. Điều này phải dễ dàng, nhưng khi so sánh đầu ra từ nhiều nguồn khác nhau, tôi nhận được các câu trả lời khác nhau, thậm chí từ google mà nghĩ rằng không có sự khác biệt nào cả giữa các biện pháp.Làm cách nào để tính MB/s & MiB/s?

Nếu tôi chuyển 1381530 byte trong 17797601 nano giây, tốc độ dữ liệu trong hai số đo đó là bao nhiêu? và công thức bạn đang sử dụng để tính nó là gì?

Hiện tại tôi có: thời lượng tính bằng nanô giây.

double data_rate_MiBps = (num_bytes/1024/1000)/((double)duration * 1e-9); 
double data_rate_MBps = (num_bytes/1024/1024)/((double)duration * 1e-9); 

Cảm ơn bạn đã trả lời. Tôi đã kết thúc với những con số không có ý nghĩa trước nhưng bây giờ họ làm. Đoạn mã trên nên là như sau:

double data_rate_MiBps = (num_bytes/1024.0/1000.0)/((double)duration * 1e-9); 
double data_rate_MBps = (num_bytes/1024.0/1024.0)/((double)duration * 1e-9); 

do đó tôi nhận được:

74.085 MiB/s 
75.863 MB/s 

Mà tôi nghĩ có ý nghĩa.

Có thể là câu hỏi hay hơn. Tại sao ở vị trí đầu tiên là 1024 byte được chọn là 1KB thay vì 1000. Vì Kilo (v.v) = 1000 ở mọi nơi khác.

+2

Thật sao? Bạn không thể chia? –

+1

@AdrianCornish - tôi nghĩ có thể, nhưng tôi không phải là người duy nhất gặp vấn đề. Ít nhất 2 người chuyển đổi trực tuyến đưa ra các câu trả lời khác nhau! – Matt

+0

có sự khác biệt về cách thế giới xem megabyte http://en.wikipedia.org/wiki/Megabyte –

Trả lời

11

Nếu tôi chuyển 1381530 byte trong 17797601 nano giây, tỷ lệ dữ liệu trong hai biện pháp đó là bao nhiêu?

0,0776 bytes/ns.

Thứ nhất, cẩn thận:

tôi vừa mới khám phá ra rằng MB/s là kỹ thuật tương đương đến 8000 triệu bit/s

Tôi chưa bao giờ nghe nói về định nghĩa này.

"MB/s" thường là có nghĩa là "megabyte trên giây". Điều này có thể một trong hai định nghĩa, tùy thuộc vào người bạn hỏi:

  • 1 triệu byte mỗi giây (8 triệu bit trên giây) (theo định nghĩa của IEEE)
  • Định nghĩa phổ biến hơn thấy 1024 * 1024 (1048576) byte mỗi giây (8388608 bit mỗi giây), thường thấy trong nhiều tập quán.

Trong một số trường hợp thực sự, thực sự hiếm hoi, "MB/s" thể có nghĩa là "megabits mỗi giây", nhưng megabits mỗi giây thường được viết tắt là "Mbps" hoặc "Mbits/s". Ngữ cảnh thường sẽ gợi ý cho bạn những điều thích hợp: tốc độ truyền dẫn không dây, thẻ ethernet, vv thường được đo bằng megabits trên giây; chuyển tập tin qua internet được đo bằng megabyte (hoặc mebibyte, xem đoạn tiếp theo) mỗi giây.

IEEE đã đề xuất rằng máy tính phải tuân thủ các tiền tố SI và sử dụng "Kilobyte" có nghĩa là 10^3 byte, không phải 2^10 byte, đã được thực hiện trước đây. (Và do đó tạo ra tất cả sự nhầm lẫn về định nghĩa của một megabyte một thực sự sử dụng.) Tuy nhiên, trong nhiều bối cảnh, 10^3 làm cho ít ý nghĩa, tiền tố "nhị phân" khác nhau đã được giới thiệu, chẳng hạn như "Kibibyte", đó là viết tắt KiB và luôn có nghĩa là 1024 byte. Trong trường hợp của bạn, có "Mebibyte", hoặc MiB (và mỗi giây, MiB/s) và có nghĩa là 1024 * 1024 byte.

Xem Wikipedia article on the Megabyte để biết thêm thông tin.

(Đối với chuyển đổi thành bit/s, tôi đã giả định 8 bit/byte.)

+0

Tôi thích câu trả lời này. Nó phụ thuộc vào người bạn nói chuyện với. Do đó nếu tôi sử dụng tiền tố SI thì không có sự mơ hồ. – Matt

+0

+1 để xóa nhầm lẫn của tôi bằng cách thêm đề xuất IEEE –

0

10^3 = Kilo

10^6 = Mega/Triệu

10^9 = Giga/Billion

Đó là những gì bạn nên đã được giảng dạy trong nhà trường. Nhưng khi bạn đang tính toán Bytes, các tính toán hơi khác nhau:

2^10 byte = 1024 byte = 1 Kilobyte

2^20 byte = 1024^2 byte = 1 Megabyte

2^30 byte = 1024^3 byte = 1 Gigabyte

Tất nhiên, không ai đổ lỗi cho bạn nếu bạn sử dụng 10^6 byte dưới 1 Megabyte. Các nhà sản xuất HDD sử dụng 10^9 byte dưới dạng 1 Gigabyte.

Để tính toán rõ ràng, MiB/s (hoặc GiB/s) thường được sử dụng thay cho MB/s (hoặc GB/s) khi tham chiếu đến byte. Do đó, 1 MiB/s thực sự có nghĩa là 1024^2 byte mỗi giây. Tuy nhiên, bạn sẽ thấy nhiều khu vực chỉ đơn giản là MB được sử dụng để chỉ ra 1024^2 byte (ví dụ: Windows).

Bây giờ, nó tùy thuộc vào cách bạn tính MB/s. Nếu bạn sử dụng MiB/s, thì bạn nên dính vào quy ước và sử dụng 1024^2 thay vì 10^6.

+0

Tuy nhiên, tính toán _should_ không khác nhau. Theo truyền thống, chúng tôi chia cho 1024 vì có một thời gian mà tại đó các bộ xử lý không có hướng dẫn phân chia phần cứng và việc dịch chuyển 10 bit phải là 'đủ gần'. Điều này rõ ràng là không đúng nữa. Ngoài ra, ngày nay, hầu hết các nhà cung cấp ổ cứng sử dụng ý nghĩa thập phân của kilo, mega và giga; và ít nhất Mac OS cũng vậy từ vài năm trước. – zneak

+0

tôi đồng ý. mọi người nên dính vào một hội nghị. có một thời gian khi tôi sử dụng để mất với những tính toán này. bây giờ, tôi đã chấp nhận quy ước 2^x cho máy tính. – Donotalo

0

Đúng là mega là đơn vị tiền tố SI nên về mặt kỹ thuật nên tham khảo 1 000 000 byte, trong khi tiền tố mebi nên tham khảo 2^20.

Trình biến đổi trực tuyến không phải lúc nào cũng tuân thủ tiêu chuẩn hiện đại vì gần đây nhiều người, công ty phần cứng và hệ điều hành nhầm lẫn định nghĩa của mega và sử dụng nó cho tiền tố nhị phân đôi khi không nhất quán.

9

thấy

1>Megabyte trên giây

Một megabyte mỗi giây (MB/s hoặc MBps) là một đơn vị của tốc độ truyền tải dữ liệu bằng:

1.000.000 byte mỗi giây ,

2>Megabit mỗi giây

Một megabit mỗi giây (Mbit/s, Mb/s, hoặc Mbps) là một đơn vị của tốc độ truyền tải dữ liệu bằng:

1.000.000 bits per second

3> Mebibyte mỗi giây

một mebibyte mỗi giây (MiB/s hoặc MiBps) là một đơn vị của tốc độ truyền tải dữ liệu bằng:

1.048.576 byte mỗi giây, hoặc

4> Mebibit mỗi giây

Một mebibit mỗi giây (Mibit/s hoặc MIB/s) là một đơn vị của tốc độ truyền tải dữ liệu bằng:

1.048.576 bit mỗi giây hoặc

thấy Confusion with megabytes, 1 megabyte is 1 million bytes or 1024 * 1024 (1048576) bytes?

Các vấn đề liên quan