Answers:
电子计算机中的数据以各种方式存储和传输,但是它们始终被解释为一系列二进制值(0或1)。一个二进制值称为位。八位称为八位位组或字节。对此达成共识。
一个比特表示为b
,一个字节表示为B
。在此基础上达成共识,如果您发现某个应用程序违反了该约定,则肯定是一个错误或错误。人们经常将二者混淆,但总体而言,应用程序开发人员和制造商则不会。
一旦进入更大的部门,就会有两种思想流派,可悲的是,这意味着没有共识。不同的操作系统和不同的应用程序属于一个思想流派。
Ubuntu有一个已发布的单元策略,该策略定义了这样的单元。
第一组单位是1024的倍数。(为什么1024?因为1024是2乘以10的幂,所以可以简化程序员的生活。)在IEC标准之后,这组单位称为二进制单位或IEC前缀。定义了它们:
1KiB
= 1024字节(注意大写K)1MiB
= 1024KiB
= 1048576字节1GiB
= 1024MiB
= 1048576KiB
= 1073741824字节第二组单位是1000的倍数。这与SI系统中常用的单位(例如米,升和克)更加接近。一公斤是一千克;同样,千字节为1000字节。这套单位称为十进制单位或SI前缀。
1kB
= 1000字节(注意小写k)1MB
= 1000kB
= 1000000字节1GB
= 1000MB
= 1000000kB
= 1000000000字节传统上,许多应用程序,操作系统和开发人员都使用二进制单位,并为其指定SI名称。Ubuntu,GNOME和OS X都试图遵循先前解释的已发布标准,但是Microsoft Windows和许多UNIX实用程序仍使用这些传统单元,因此您需要意识到它们。
1KB
= 1024字节(注意大写K)1MB
= 1024KB
= 1048576字节1GB
= 1024MB
= 1048576KB
= 1073741824字节但是,传统上,速度是使用SI前缀以每秒比特数指定的!因此,即使在Microsoft Windows上,1Mbps实际上是每秒1000000位,也就是每秒125000字节。
如您所见,这些矛盾的定义引起了很多混乱。当我说时1MB
,我的意思是一百万字节,还是1048576字节?
为避免歧义,应使用以下策略之一:
1MiB
永远是明确的。在有歧义的地方,有一些很好的经验法则对我很有帮助:
KB
(大写的K),则可能正在使用传统的单位。kB
(小写的k),则可能正在使用SI单位。对于Ubuntu应用程序,请查看此列表,以指定哪些应用程序使用哪个系统。