文章图片
计算机 , 从顶层的应用程序往下看 , 处处都有抽象 , 处处都是编码和转换 。 我们没有办法 , 也没有必要弄清计算机的每个细节 , 但只要把握住了计算机的工作原理 , 弄清一些核心概念 , 还是能在一定抽象度上搞懂计算机 。 抽象 , 是计算机科学和技术中最重要的思想 , 没有之一 。 抽象的重要性 , 在操作系统中的体现尤为明显 。 通过层层抽象 , 我们才可以轻松地聊微信、逛淘宝、刷抖音 , 而最背后的最底层 , 不过是芯片中电子在“乱窜”而已 。
文章图片
三.编码和解码的本质到此为止 , 我们似乎了解了一点计算机的工作原理 , 但略感模糊 , 所以还需要继续探索与追问 , 那就来一起看看吧 。
计算机中一切的行为 , 都可以归结于计算 。 当我们在聊微信、逛淘宝、刷抖音时 , 都是手机芯片的计算来实现的 。 既然都是通过计算来实现的 , 那就要弄清计算机的计算原理 。 先来看看计算机中最简单的加法 , 这还得从编码说起 。 编码的本质是什么呢?对通信专业同学而言 , 第一反应是信号编码 , 而对计算机专业同学而言 , 第一反应是写代码 。 这两种理解 , 都局限在特定专业领域内 。 事实上 , 编码是广义的 , 无处不在 , 我们的工作和生活中 , 到处都是编码 。
在战争中联络的暗号 , 是一种编码 。 如果不懂之前的约定 , 就无法知道暗号的意思 , 这个“知道”的过程 , 就是解码 。
瞪你一眼 , 也是编码 , 把想法用瞪眼来表示 。 我们经常说:我不懂你说的意思 。 本质就是:我无法解码你说的东西 。
很多场景 , 都是编码与解码的过程 。 来看图 , 一图胜千言:
文章图片
可见 , 对于同一事物 , 如果编码方式不同 , 那么得到的结果也不同 。 对于不同事物 , 编码后可能得到相同的结果,但他们的含义是不一样的 。 要正确解码 , 必须知道它曾经采用了哪种编码方式 , 否则无法解码 。 编码的本质 , 就是映射 。 解码的本质 , 就是去“理解” 。 要配套使用才行 。 四.二进制的加法示例为什么我们费尽心思去讲编码的本质呢?因为通信的本质 , 就是编码并传输 , 计算机的本质 , 就是编码并处理 。 我们先来看一幅图:计算1+2.我们可以看到 , 从苹果到数字 , 是一种编码方式 , 从数字到苹果 , 是对应的解码 。 而且 , 上述的编码 , 是我们很熟悉的阿拉伯十进制编码 。
文章图片
以“109个苹果”为例 , 我们用十进制和二进制分别对其进行编码 , 具体的过程如下:
文章图片
可以看到 , 十进制编码后 , 数字都是由0,1,2,3,4,5,6,7,8,9这十个数字组成的 。 而二进制编码后 , 数字都是由0,1这两个数字组成的 。 这里 , 再次看到编码和解码的特点:对于“109个苹果” , 当编码方式不同时 , 其编码后的结果自然不相同 。 对于1101101 , 如果不知道编码方式 , 就没法理解它 。 如果是二进制编码 , 就会被理解为是“109个苹果” 。 万一按照十进制去理解 , 那就是“一百一十万一千一百零一”个苹果 , 这显然是不对的 , 究其原因 , 就是编码的时候 , 用了二进制编码 , 但解码的时候 , 用了十进制解码 , 自然不行 。 对于1101101 , 为了不错误理解 , 常用1101101B表示是用二进制编码 , 这个B是binarydigit的缩写 , 意思是二进制 , 解码后是“109个苹果” 。 对于不标注B的109,默认是十进制 。 下面 , 我们来看下二进制的加法计算:
- 副董事长|京东方A董秘回复:公司与全球数千家供应商保持着良好的合作关系
- 电池|vivoY55s,能有效解决你的续航焦虑!
- 加盟行业|原来加盟行业是这么玩的!
- 京东|适合过年送长辈的数码好物,好用不贵+大牌保障,最后一个太实用
- 儿童教育|首个播放量破 100 亿的 YouTube 视频诞生,竟然是儿歌
- 苹果|国内首款支持苹果HomeKit的智能门锁发布:iPhone一碰即开门
- 小米科技|预算只有两三千买这三款,颜值性能卓越,没有超高预算的用户看看
- 苹果|苹果最巅峰产品就是8,之后的产品,多少都有出现问题
- 普莉希拉|祖籍徐州的普莉希拉,嫁全球第5富豪扎克伯格,坐拥6530亿被说丑
- 攻克|打破日本垄断!售价7亿元的设备被中企攻克,已开始量产