1. ホーム
  2. c

[解決済み】MB/sとMiB/sを計算する方法は?

2022-02-01 02:38:17

質問

MB/sは、技術的には800万ビット/sに相当することが最近わかりました。 であり、1024ではない 2 というのは、1秒間に1ビットを意味し、メビバイトと呼ぶべきものだからです。

これは簡単なことですが、さまざまなソースからの出力を比較すると、異なる答えが返ってきます。

1381530バイトを17797601ナノ秒で転送する場合、この2つの指標におけるデータレートは何ですか? また、それを計算するために使用している数式は何ですか?

現在、私は: 継続時間はナノ秒単位です。

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

回答ありがとうございました。 以前は意味のない数字で終わっていたのですが、今は意味のある数字になっています。 上記のコードは以下のようにします。

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);

したがって、私は得る。

74.085 MiB/s
75.863 MB/s

というのは、理にかなっていると思います。

おそらく、もっと良い質問でしょう。 そもそも、なぜ1000ではなく1024バイトが1KBに選ばれたのでしょうか。 他のどこでもキロ(など)=1000だからです。

解決方法は?

<ブロッククオート

1381530バイトを17797601ナノ秒で転送する場合、この2つの尺度でデータレートは何倍になるか?

0.0776バイト/nsです。

まず、慎重に。

MB/sは技術的には8000万ビット/sに相当することが最近わかりました

こんな定義は聞いたことがない。

"MB/s"。 通常 は、「1秒間に何メガバイト」という意味です。これは 2つの定義のうちの1つ というのも、聞く人によって違うからです。

  • 100万バイト/秒(800万ビット/秒)(IEEEの定義による。)
  • より一般的な定義は、1024 * 1024 (1048576) bytes per second (8388608 bits per second) で、多くの用途でよく見受けられます。

本当に稀なケースとして、"MB/s"があります。 可能性 メガビット/秒の意味ですが、メガビット/秒は通常MbpsまたはMbits/秒と略記されます。無線通信速度やイーサネットカードなどは一般的にメガビット/秒、インターネット上のファイル転送はメガバイト(またはメビバイト、次項参照)/秒で測定されます。

IEEEは、コンピュータはSI接頭辞に従うべきであると提案し、"Kilobyte"を使って10 3 バイトではなく、2 10 バイトで、これは歴史的に行われてきたことです。(そのため、実際に使用するメガバイトの定義について、すべての混乱が生じました)。しかし、多くの文脈で、10 3 という接頭語が導入され、Kibibyte(KiB)や 常に は1024バイトを意味します。あなたの場合は、quot;Mebibyte"、またはMiB(および毎秒の場合はMiB/s)で、1024*1024バイトを意味します。

をご覧ください。 ウィキペディアの「メガバイト」の記事 をご覧ください。

(ビット/秒への変換は、8ビット/バイトとしました)