本文主要是介绍关于计算机1K=1024 的原因,什么情况下1k=1000?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
为何计算机上1k=1024???
其实是约等于,1K≈1024!
难道二进制不能表示1000?当然不是,二进制能表示任何自然数!
一、内存
在存储上RAM SDRAM DDRAM上,1K≈1024!
内存的读取依靠地址,如果1条地址线可以表示2个地址,2条地址线表示4个地址,公式 (地址数=2^地址线)。
7条数据线地址数是128,内存大小是128*4字节=512字节。
8条数据线地址数是256,内存大小是256*4字节=1024字节。
看见了吗?按照这样的内存结构是没法制造重1000字节的内存的。
每增加一条地址线,内存大小就翻一倍。
18条数据线地址数是262144,内存大小是262144*4字节=1048576字节。
现在内存的数量级可就不是10的整数倍,表示起来比较麻烦!所以干脆就把最接近1000的1024最为1k的数量级
1048576字节 = 1024K字节 = 1M字节
下图是DDR内部原理图(图来自Unclehc),原理是一样的。
二、外存(硬盘、U盘、SSD)
外存的容量大,程序运行时会加载到内存运行。所以参照内存,外存最小单元为512字节倍数。
磁盘一次可以读取的单位是扇区大小是512字节,U盘一次读取的单位是块,大小不等(512字节或512字节的倍数)
读取的地址和内存类似,也是地址线的概念,每增加一条地址线容量就翻一倍,同样也不是10的倍数,所以这类存储也是1k=1024字节
但是实际生活中,硬盘厂商都用1K=1000来标出硬盘容量!“奸商?”
除此之外,速率等
按位计算的速率上就没有这个问题,不存在2的倍数概念。
带宽,存取速度,比特率,传输速率等等速率相关的概念,那1Kb/s=1000b/s,1Mb/s=1000Kb/s
这篇关于关于计算机1K=1024 的原因,什么情况下1k=1000?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!