01
我们知道电脑的数据本质上是数字 “0”和 数字“1”,也就是我们说的二进制。像我们的CPU里面是成千上万的晶体管,这些晶体管只有两种状态:一种是断电,一种是通电。
02
就像我们的电灯泡一样,熄灭和亮起。熄灭代表 “0”,亮起代表“1”。还有我们硬盘,里面并不是真正存储着我们看到的文字或者图片,而是硬盘里面的盘片,通过磁化,用磁极S和N极代表数字“0”和数字“1”。
所以问题是这些组合起来的数字“0”和数字“1”它们怎么就成为了我们看到的文字或者图片之类的东西,或者说我们看到的这些图片、文字之类的东西怎么就被转换成数字“0”和数字“1”了呢?
这里我们就直接举个例子:
比如小明和小方分别住在两座大山上,他们中间有一家超市,他们也没有任何的通讯工具,这天小明和小方都不约而同的下山去超市买东西,小明买肥皂,小方买饮料,结果超市都缺货。
超市老板也不知道什么时候才有货,小明和小方下趟山也不容易,所以老板就想了一个办法,在超市门口安一个灯泡:
灯泡亮一次就代表肥皂到货了,灯泡亮两次就代表饮料到货了。
后来他们就想能不能用灯泡传递更多的信息呢,所以他们就各自在门口装了8个灯泡。
03
这个灯泡就像我们开始说的一样只有两种状态:一种是熄灭,一种是亮起。熄灭我们可以想象成是“0”,亮起想象成是 “1”,通过8个灯泡的亮起或者熄灭来代表相应的意思。
比如:我们用第一个灯熄灭,第二个灯亮起,第三个到第七个灯熄灭,最后一个灯亮起,如下图:
也就是“01000001”代表字母“A”。
然后第一个灯熄灭,第二个灯亮起,第三个到第六个灯熄灭,第七个灯亮起,第八个灯熄灭,如下图:
也就是“01000010”代表字母“B”,以此类推。
04最后他们就搞出了上面这么一张表来。
每一个字母都对应一组灯的状态,这个也就是我们说的编码表。
比如:
小明想跟大家说个“HI”,他只需要在编码表里面找到字母 “H”和 “I”,如下图:
所对应的灯泡显示状态就可以了。
然后其他人根据这个表一查就知道小明说的是 “HI”了。
这个也就是为什么我们的电脑能把枯燥玩味的0和1转换成我们看到的文字、图片之类的信息了。
05但是有一天,又来了几个外地人,小明和小方按照他们自己的编码表给外地人发了信息,但是外地人用的编码表和他们不一样,所以外地人并不知道他们是什么意思,就像假设咱们国家八个零代表数字“6”,而美国八个零代表“空格”,给对方发送一封邮件,因为使用的编码表不一样所以打开邮件看到的就是乱码了。
06要解决这个问题也很容易,就是全世界都共用一个编码表好了,这个也就是我们说的Unicode,Unicode这条标准就涵盖了全世界大部分的语言,这样就解决了因为使用不同编码表而导致出现乱码的情况。
计算机0和1是怎样变成图片 声音和视频的。
计算机物理底层编码,通过电压高低表示0和1,再通过计算机低级语言编译0和1,再用计算机高能语言(C语言等)编译成软件,实现图形图像可视的功能所以反过来也是一样的原理,倒回去,解码
计算机中0和1是怎么表示所有东西的
0和1在计算机语言里是二进制,所有的信息将转化为由0和1组成的代码进行存储和传输。
二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
扩展资料:
计算机中的十进制小数用二进制通常是用乘二取整法来获得的。
比如0.65换算成二进制就是:
0.65 × 2 = 1.3 取1,留下0.3继续乘二取整
0.3 × 2 = 0.6 取0, 留下0.6继续乘二取整
0.6 × 2 = 1.2 取1,留下0.2继续乘二取整
0.2 × 2 = 0.4 取0, 留下0.4继续乘二取整
0.4 × 2 = 0.8 取0, 留下0.8继续乘二取整
0.8 × 2 = 1.6 取1, 留下0.6继续乘二取整
0.6 × 2 = 1.2 取1,留下0.2继续乘二取整
.......
一直循环,直到达到精度限制才停止(所以,计算机保存的小数一般会有误差,所以在编程中,要想比较两个小数是否相等,只能比较某个精度范围内是否相等)。这时,十进制的0.65,用二进制就可以表示为:0.1010011。
参考资料来源:百度百科-二进制