在二进制的世界里,1M = 1024K 这个转换关系十分清楚。然而,对于宽带等传输介质,买套餐的时候或许你不会注意到 1M = 1000K。差了 24,总给我们一种“偷吃”一点的感觉。之前我也是这么觉得的,可最近看了点资料,突然懂了什么。
所以结论是这样的:
传输数据时一般利用时间分隔的原理,比如 1 秒内 1000 等分,自然是用 1M = 1000K 比较合乎原理。而存储数据利用 1 和 0 这两个状态,是二进制,1000 接近二进制的 1024,所以选择 1024 比较接近实际存储的情况。
后面我们来看看为什么 1000 和 1024 这两种原理不能混用。把 1 秒平分成 1024 份,理论上其实问题不大(电子世界里的时钟是由晶振振动实现的,晶振可以调整),实际上因为人们用十进制来表示时间,二进制下的时钟一定挺反人伦的……
同理,二进制下使用十进制,对于计算机最基本的存储管理来说也是十分麻烦,所以为了简单,他们就用了 1M = 1024K。
这 里要说明的是,现在的所谓多少兆的宽带都是通过局端软件限速实现的,所以宽带说是 1M = 1000K,实际 1M = 1024K 并不困难 = =(但是本来生活中都用十进制,改用二进制的理由并不充分)。此外,有些存储的东西说 1M = 1000K 就是“偷吃”了。
鸣谢:《图解TCP/IP》,(日)竹下隆史[等]著 , 乌尼日其其格译