曾几何时,内存卡和移动硬盘无限风光,享尽人世间的繁华与推崇,慢慢的,开始听不到这方便的讨论了,但江湖上的人知道,关于他们的故事并没有真正消失.
只记得那些年的移动硬盘,内存卡非常火爆,不管是手机还是相机或者是笔记本电脑,基本上都能看见他们忙碌的身影,小小的身躯给我们带来了充足的容量,从此我们可以安安静静玩游戏,看电影,再也不用担心内存不够用,卡顿现象也离我们而去.
印象中最深刻当属这么一种场景,当购买手机时一定要问一下,这手机能不能插入内存卡,只要是不支持扩展内存卡肯定就不是正规手机,竟然连内存卡都不支持?!
现在情况不同了,更多的手机已经不支持内存卡了,同时自身的容量也增大了很多,不太需要扩展内存卡.
可能是那时候的手机自带的内存比较小,基本上也就 8g 或者 16g 的样子,如果哪天心血来潮下个电影,玩个游戏,还没怎么倒腾手机内存基本上就占满了,卡都不行不行.
这种情况下就有前辈们告诉我们,那就买个内存卡啊,尽量把能移动到内存卡的应用都放到内存卡去,凡是需要下载的电影电视剧也都放到内存卡,不要放到手机自带的内存!
所以,买个 8g 的或者 16g 的内存卡来解决手机内存不足的问题显得尤为重要,当内存卡插入手机的一瞬间感觉整个世界都变得美好起来,终于不用担心内存不足的警告了.
可是,不知道哪一天突然发现,明明买的是 16g 的内存卡,怎么手机上显示的实际容量还不到 15g,无良商家欺骗了我!
下次其他人再遇到这种情况时,自己已经见怪不怪了,于是乎拿着自己的经历去说服别人说就应该是这么多,慢慢的,也就认为这种虚假宣传是理所当然的事情.
然而,事情并不是就这么简单结束了,在学习计算机基础理论后,了解了计算机的容量存储单位的进制是 1024 并不是日常生活中的 1000.
顿时好像解决了长久以来的疑惑,发现了无良商家的密码!
1Gb=1024Mb
1Mb=1024Kb
1Kb=1024b
计算机使用的单位容量和日常生活中的容量单位并不是同一个标准!
日常生活中,我们都是普通人,说的并不是计算机领域的专业术语,更多的是口语常识性表达,也就是说,平时我们说的 16g 内存卡指的是 1000 进制而不是计算机领域的 1024 进制.
那么问题来了,16g 的内存卡理想情况下换算成计算机中的内存应该是多少呢?
既然现实生活中的 16g 内存卡指的是 1000 进制,那我们不妨先换算成计算机的基本单位,然后再看看转换后的实际容量应该是多大.
16gb=16*1000mb=16*1000*1000kb=16*1000*1000*1000b
所以接下来我们将字节再按照计算机领域的 1024 进制反向转换成多少 g?
16*1000*1000*1000/1024kb=16*1000*1000*1000/1024/1024mb=16*1000*1000*1000/1024/1024/1024gb=14.90g
看到了吧?说好的 16g 硬盘其实真实容量最多不到 15g!
至于计算机单位中为什么会是 1024 进制而不是 1000 进制,其实很好解释.
因为计算机世界中只有 0 和 1 两种数字,就像开关只有开和关一样.为了表示出 1024 的概念,需要串联 10 个这样的开关,每个开关的权重不同,就如 10 进制的个位和十位表示的含义不一样.
如果用数学概念来表达 1024 就是 1024=2^10
,用 0 和 1 二进制表示就是 10000000000
从右往左数,第一位表示 1,第二位表示 2,第三位表示 4,第四位表示 8,以此类推.
类似的例子还有很多,目前来说,只要是计算机世界中的数据,底层实现都是二进制.
正是因为这种差异性,普通人一般很难理解计算机原理,所以试想一下,有没有这么一种可能,计算机的底层实现不再是 0 和 1,而是和现实生活中的人类认知一样,都是 10 进制,那么也就不存在所谓的二进制,八进制和十六进制等复杂概念了.
所以这一切归根究底还是因为一个开关只能表示两种状态,之所以存在八进制和十六进制,也只是为了人类理解起来更加方便些,计算时更加简单些.
如果计算机能够以某种自然方式去实现而不是二进制这种抽象方式,那么我相信到时候的计算机肯定能够真正走入千家万户,人人都能像玩手机一样学习计算机理论,编程也不再是专业程序员的事情,更像是人人必备的基本技能了.
到时候,计算机基础会更加的普及,外界对程序员的误解也会越来越少吧!