浅谈数据类型01

如果灯泡凉了,就表示是1;灯泡暗了,就表示是0.如果是十进制的数字5,就只需要用3个灯泡就可以表示出来,从右到左,分别是 亮--暗--亮.(1*2^0+0*2^1+1^2^2=5)
每个灯泡用代码的通俗语言来讲,就是bit(位).一般把8个bit组成一组,称为字节"byte"
接下来会有两个很有意思的问题.
1.为什么要用8位作为一组,而不是4位/16位....?
2.我们用3个灯泡来表示5,那么表示多个不同的数字的话,我们应该怎么区分不同灯泡所在的区域?
说到第一点,就不得不提ASCII编码表,ASCII表由美国人创立,规定了常用的字母/数字/符号与灯泡之间的关系.刚刚这些重要常用的符号就有128个,也就是说我要区分128个符号,就得使用128种不同灯泡亮暗排列方式进行排列.理论上7个灯泡排列可以表示256种方式,但早期不需要用那么多的符号.但第8个灯泡用作奇偶校验位.奇偶校验的原理就是在最高位指示该字节中1的奇偶性.
如果传输过程中,字节中1的数量发生变化,就会破坏字节中1总数的奇偶性.但这种方法有个缺点,就是这些影响是相互抵消.导致最后的校验还是没有变化.所以这种方案的结果就是慢慢落后了.有些国家自己弄了套编码,把最高位也用上了,这样8个灯泡就能表示256种符号.但对于我们大中华的文字符号来说,这些是远远不够的,所以后面又发展了用32bit来表示符号.
但历史就是历史,历史很难推翻重来,早期计算机内存珍贵,没有考虑到后面的情况,所以这套标准就被沿用了下来.
说到第二点,就得涉及到cpu如何寻址?简单来说,cpu寻址的方式是通过矩阵的方式对内存进行编码,有点像军队矩阵的方式.那么如何确定军队矩阵中的某一个人呢?就是通过行列的方式,例如行七列8就是张三.行七列八就是位置信息.我们先把根据内存的大小,做好各种坑位的位置信息,一旦需要记录内存,就找到对应的位置,进行存储记录.
 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值