为什么1KB=1024B,而不等于1000B?

为什么1KB=1024B,而不等于1000B?

前言

正文

众所周知,日常生活中的开关有打开和关闭两种状态,我们把关闭看做0,打开看做1。 如果有两个开关,就有4种组合:00、01、10、11。 如果有100个开关,就有2^100 = 1,267,650,600,228,229,401,496,703,205,376种组合 如果有1万个开关,1亿,1兆呢?指数爆炸下结果是恐怖的。

计算机就是通过这种形式把现实世界表示出来的,细节不必深究,回到我们的问题上来。

  按照日常习惯,我们把10的3次方也就是1000叫做1千,或者1K。以此类推计算机中的1K按理说也应该是1000,但是因为计算机底层是2进制,计算表示使用2进制性能更高,省去了进制转换也更方便。所以应该以2的X次方为1K,假如跟10进制一样使用3次方,结果是计算机的1K=2^3=8。

  但是8跟我们日常生活中的1000相去甚远。此时人们发现2^8=1024跟1000很接近,这个数字即是2进制计算得到的,又几乎等于人们日常使用的10进制1000,所以就采用了1KB=1024B这个设定

经验分享 程序员 微信小程序 职场和发展