我们知道计算机中对存储有一种说法,
1KB = 2^10B = 1024B
这里的1KB=2^10B
是约等于吗?
准确来说应该是1KB=1000B对吗? 这里的K是指的1000还是指的1024?
我们知道计算机中对存储有一种说法,
1KB = 2^10B = 1024B
这里的1KB=2^10B
是约等于吗?
准确来说应该是1KB=1000B对吗? 这里的K是指的1000还是指的1024?
严格来讲, 1KB=(10^3)B=1000B, 这是十进制的, 1KiB=(2^10)B=1024B, 这是二进制的. 然而K(kilo)和Ki(kilo binary)多被大众错误地混用, 所以需要根据上下文自行分析它的实际含义, 到底是指1000还是1024.
通常, 对于内存, 用的都是二进制的Ki, 对于硬盘或者网络通信, 用的都是十进制的K.
分硬件(传输)和软件(存储)两种换算方式。
软件(存储)中是 2^10 进位,即 1K = 1024B、1M = 1024K ... 依此类推。
硬件(传输)中是千进位,即 1K = 1000B、1M = 1000K ... 依此类推。
因为虽然都是简写为
K
,但软件中实际是Kibi
,其换算标准由国际电工委员会(IEC)制订,是 2 的幂。而硬件中实际是
Kilo
,其换算标准由国际标准化组织(ISO)制订,是 10 的幂。