计算机用0 和1刻画文字、图片和声音
对计算机来说,所有的东西都是0和1的组合。其背后是数以亿计的晶体管在频繁跳动维持其逻辑,信息转化成01的代码形式存储和传输,以此刻画这个客观世界。
![63394e33879d5e62ad7f222c73eb61e0.png](https://i-blog.csdnimg.cn/blog_migrate/72984987a02098e0c19b74fc2c0bb155.jpeg)
图1 漫画(来自网络蓝桥杯)
计算机只认识0和1吗?确实是的,我们看到的所有东西,计算机在运行的时候都需要转成二进制机器码才能被计算机识别。
那么,计算机抽象出来的0和1是怎么组成文字、图片、声音和视频的呢?下面是一张0和1显示的图片,丰富的世界可以通过二进制的方式压缩,变成丰富多彩的表达方式。
![9cd4b14bbde5c7c1c3f54476c7234465.png](https://i-blog.csdnimg.cn/blog_migrate/26a6dab654fedf7cf42586a5385839ae.jpeg)
图2 计算机中的0和1(图片来源网络蓝桥杯)
计算机中的0和1怎么组成文字的呢?
以下面文字中的(apple)苹果为例:
![00ccc4b6a776ef50be9e114ffd3e9cba.png](https://i-blog.csdnimg.cn/blog_migrate/52a8f47ed85bee34bdfafe4bf8fc9c49.jpeg)
上篇文章,我们讲述了ASCII编码表,其中说到了利用8个二进制代表一个字符,这里我们根据对应编码表找到上述文字的对应二进制编码:
![703707721b6aae2a94840450aeec1c7d.png](https://i-blog.csdnimg.cn/blog_migrate/18105e4b0781547636d241990e0fe552.jpeg)
图3 “apple”的二进制编码表
根据上面这个二进制对应表,是不是能组成字符"apple"呢?对应中文的"苹果"或日文的"アップル"字符,他们表示方式类似。也就是说,计算机内部有"0100 0001"这样一串数字(ASCII编码表),那计算机就会在编码表里找到这串数字对应的东西,然后在屏幕上把这个东西显示出来。这样就有了我们看到的文字。
计算机中的0和1怎么组成图片的呢?
![612ebfe09901c95f38dbd5b4179013df.png](https://i-blog.csdnimg.cn/blog_migrate/0c837dedd0b7acf9776e426b92d3cace.jpeg)
图4 不同大小的苹果
图4是不同大小的苹果,左边是原来大小,右边是放大长和宽各放大10倍的效果,那么这种彩色的图片是怎么组成的呢?从最简单的开始说起。
下面是一张非常多方格的黑白图片:
![6878cf76a3b55b83d4847562bd073cce.png](https://i-blog.csdnimg.cn/blog_migrate/ac4368b903d7ff47438159224238b8d3.jpeg)
图5 黑白图
如果上面黑白图中,1代表黑色,0代表白色,那么是不是可以利用数字组成一幅图片黑白图片?如以下的表格形式。
如果每一个方格代表的是2进制位,是不是一个方格就有:00,01,10,11四种表现形式,代表四种颜色,那么,如果一个方格为8进制,是不是能组成256()种颜色样式,这就能组成丰富多彩的图片了。从另外一个角度来说,为什么图片比文字的占比空间要大,是因为需要更多01来表示图片。
计算机中的0和1怎么组成声音的呢?
声音是由物体振动产生的声波,它是一个光滑的曲线,如图5所示。平常我们在微信上用语音功能录了一段10秒钟的声音,手机就会尽可能的把这个光滑的曲线模拟出来,声音有有赫兹、频率等参数,
![06b8fd448359ccc566ed7943dd01383b.png](https://i-blog.csdnimg.cn/blog_migrate/0a97b0297804f07b80e204fc29687ae2.jpeg)
图6 声波图
计算机传播声音的方式简化来看是声音转化为电信号,再变为声音的过程。
计算机完整处理一次声音传播需要以下三个阶段,如图6所示,需要采样-量化-编码三个过程。
![8b2be5816de07847a153be0460c46c03.png](https://i-blog.csdnimg.cn/blog_migrate/944169d14081734607fd14bea7b0bf36.jpeg)
图7 计算机声音传播过程
第一步:采样
采样是将模拟信号转变为数字信号的过程。比如利用录音机录制一段10秒钟的音频,计算机每秒钟对该段音频进行采样,那么就能得到一段计算机模拟的波形,这个可能和原声有有非常大的差别。如果想还原出原始的声音,就需要不断提高计算机的采样频率,从之前可能一秒一次变为一秒10次。
![d03fc792f18cd4a88baa632c051b36a7.png](https://i-blog.csdnimg.cn/blog_migrate/2b212c2acc86004ba7968ec4d2913914.jpeg)
图8 声波采样
第二步:量化
波形量化就是将波形变为不同的级别,比如原有声音波形变为如下结构,分为5个级别。
![304c7067886deb1549eadc61c4a64754.png](https://i-blog.csdnimg.cn/blog_migrate/4db73ef5573720cdc16d0b7e178b835c.jpeg)
图9 波形量化
第三步:编码
编码的过程就是将量化的等级变为01的过程,比如上面将波形分为5个级别,可以将量化等级一级0001,二级等于0011,然后以此类推,依次把这些等级记录记录成对应的0和1就可以了,到这里,计算机就完成了,把我们能听见的声音数字化的过程。
![168af2319c680f86db5fb8f6b2421d1e.png](https://i-blog.csdnimg.cn/blog_migrate/4a1506e4a62784e21b083ee598a960c5.jpeg)
图10 波形编码
有人会怀疑,这个过程这么麻烦,是不是会导致很多问题啊?我们知道电信号传播速度大约为m/s,光纤中光信号的传播速度是m/s,就算远距离通信,也很少能感受到太大时差。
我们生活在十进制的世界,逢十进一,而计算机是采用二进制,逢二进一,这两种进制可以互相转化,同样二进制的0和1也能为逻辑运算的真和假进行描述。
写在最后
随着人类对生活的需求和大自然的开发,就需要对工具赋能,以便能实现更多功能,而现代计算机就是在对规律的认识的基础上不断加深进而不断完善。以上从计算机的0和1的角度理解计算机,不知道是不是有利于您对计算机的理解呢?从计算机的视角去理解现今社会发展规律,以及解决问题的方法方式。
这是自嗨的静修先生的第三篇网络文章,欢迎提出改进意见哟!!!
欢迎关注本人头条号,私信本人。