-1

https://stackoverflow.com/users/227532/mefによって書かれたPHP関数https://stackoverflow.com/a/2510459/425964を使用して、バイトをキロバイト、メガバイト、ギガバイトなどにフォーマットします。@Mef

問題はそれです:

echo formatBytes(9287695, 2);

を返します8.86 MB。そうあるべきじゃない9.3 MB?ここで何か不足していますか?

ありがとう。

4

4 に答える 4

2

9.3 MB であってはなりません。バイトは 1024 倍されるため、KB / MB などに変換すると常に少なくなります。

したがって、バイト番号が 92.. で始まる場合、9.3 MB になることはありません。

8.86 が正しい値だと思います。

于 2012-09-01T09:13:32.253 に答える
1

9287695/1024/1024=8.86
9287695/1000/1000=9.30
1 MB = 1024 KB = 1024*1024 バイト

于 2012-09-01T09:13:33.567 に答える
0

メモリの単位

Bit=a 1 or 0  
Byte=8 Bits  
Kilobyte=1024 Bytes  
Megabyte=1024 Kilobytes  
Gigabyte=1024 Megabytes  
Terabyte=1024 Gigabytes

したがって、9287695 バイトは実際には 8.86 MB です。

于 2012-09-01T09:15:22.843 に答える
0

メビ* とメガ*、キビ* とキロ* の区別について、IT の世界では多くの混乱があります。8.86の適切なサフィックスは「MB」ではなく「MiB」であるため、実際には完全に正しいです。

これは、1 MiB = 1024 KiB および 1 KiB = 1024 B であるためです。ただし、1 MB = 1000 kB および 1 kB = 1000 B です。

したがって、混乱。

したがって、8.86 である(9287695/1024)/1024 = 8,857限り、OK () です8.86 MiB

詳細については、こちらを参照してください: http://en.wikipedia.org/wiki/Mebibyte

于 2012-09-01T09:17:15.937 に答える