电脑到底是怎样读懂我写的东西的?
我拍一张相片发给你,这张相片在网络里是怎样运曩昔的?
许多人都告知我,电脑把我写的东西转化成了0和1的二进制,由于电脑只能读懂0和1。那么,我的东西又是怎么转化的呢?电脑自动转化吗?它得先读懂才干转化吧?这不又变成先有鸡仍是先有蛋的问题了吗?
谁能告知我答案!!!
上面的大哥有点激动。我想试着给他解说一下。
记得刚学计算机时,我就听教师说,电脑选用的是二进制计数。也便是说,在电脑的世界里,它只认识1和0。
那时,我尽管了解不了,可是也没有多问。了解不了是由于,键盘上分明有3、4、5,你却说它只认识1和0。没有多问是由于,教师说了,记下就行,考试会考。
后来,有这类疑问的人越来越多。他们纷繁跑来问我:老六啊,咱们哥几个,就你学了计算机,给咱们解说一下吧。其实,我解说不了。我说把酒喝了,喝完了解说。因而,多少年曩昔了,咱们的酒量都涨了不少。可是,二进制仍是没有搞清楚。
进制是什么?
咱们常见的计数方法是十进制。拿我最喜爱的人民币来举例:十个一块是十块,十张十块是一百,十张一百是一千。十进制也便是逢十进一。
或许你觉得世界上只要十进制,其实不是的。进制还有许多,比方二十进制、九进制、六十四进制等。目前,大约共有二十五种进制在运用。
那么,咱们为什么会挑选十进制呢?
话说那年连秦始皇都还没有出生,在古希腊,有一个叫亚里士多德的老头,他做了一个解说。他说,或许是由于人类只要十个手指头。因而,在清点猎物的时候,数到十,后边就没有了。所以每逢数完十个数,就走曩昔一个人。这便是逢十进一,一个人就代表十头猎物。
有人就怼了,手指头数完了,还有脚指头呐!那时也没有皮鞋,冬季也相同数,根本不耽搁。是的,玛雅文明选用的便是二十进制,人家便是数脚指头。哈哈,恶作剧啦。玛雅人的二十进制,不是观察脚指头。他们是观察天体运转,以一圈是360度,一年360天,推导出来20是一个根本单位。因而,逢二十进一。
除此之外,巴比伦文明选用的是六十进制,逢六十进一。为什么是六十?由于他们以时间为根本单位,一个小时是六十分钟,一分钟是六十秒。
尽管十进制,最早由亚里士多德做了解说。可是,多劳不一定多得。十进制是我国创造的。证据便是在甲骨文中就有“十”、“百”、“千”、“万”等文字标记。
横竖吧,说这么多,不管多少进制,它出现肯定是有场景支撑的,是有原因的。
那么,电脑为什么会选用二进制呢(这转场,太流畅了)?
电脑为什么选二进制?
是呀,为什么?不要跟上面喝酒相同,把他人灌醉了,又欺骗曩昔。这次你不说完不许走,我不看完不关页面。
好吧,其实,这根八卦有关!
哈哈,开个打趣。
下面开端进入正题(也不一定),谈谈二进制。
首先说,电脑是带电的。想要在电脑里存东西,那得看有没有电。
前方高能,开端声明:下面我要说的,为了确保外行能听懂,做了许多简化,由于深究起来,必定会漏洞百出。
上面那么多的废话,也是为了挑选内行。能看到这儿的读者,估计就剩两种人了:爱听扯闲篇的外行、最终憋着怼我的内行(擦汗)。
电脑是带电的(他又开端废话了)。电脑经过控制电路进行数据的存储和运算。其实你也能够想想,假如是你,你怎样经过电路来存储信息。那位说了,这个简略啊,存内存里、硬盘里。这个回答很棒,你便是我的方针读者(狗头)!
科学家为了让电脑能存点东西,可谓是费力心计。最终,他们研究出一种叫“触发器”的元件。
上面的那种元件的组合,其实便是个1位的寄存器。看不懂不要紧,我会解说。
1位的寄存器,能够存储一个0或许一个1。大哥酒醒了,问我凭什么?
我给大哥画了一张简略图。
看上面这张图,当s=1时,o=i;当s=0时,o坚持本来的状况。
这其间,s代表switch,也便是开关。i是input的简称,表明输入。o能够是output,算是输出。
我告知大哥,有电便是1,没电便是0,这个肯定能了解。大哥点了允许,脸贴到屏幕上仔细看图,不小心还碰倒了酒瓶子。
我接着说,当咱们给s通上电时,i通电o就有电,i不通电o就没电。
当咱们把s断电时,o最终状况是什么,它最终就坚持住那个状况。这是这个电路组合完成的功能。
因而,假如咱们想要存储个状况,那么就给s通电,然后改动i的值,所以o就跟着变了。这样就算是s断电,o现已把状况记录下来了。
这样,1位的寄存器,就完成了高电平或许低电平状况的存储。高电平咱们称为1,低电平用0表明。
因而,1位的寄存器,能够存一个数,那便是1或0。
编码是什么?
唉,只存一个1或许0,有什么用?我考虑了一瞬间,觉得用途真不大。
那么,多存一些,会不会有有用呢?有句话叫做量变引起质变。
下面的图是一个8位的寄存器。也便是8个小寄存器组合起来了。
咱们来计算一下,1位能够存1个二进制数。能够存1,或许是0,有2种或许。那么,8位就能够存储8个数。这8个数,能够是1或0两种状况,组合起来便是22222222=256种状况:00000001、00000010、00000011…
能存数,这就有意思了。
咱们把1位二进制,称为1比特(bit)。8个比特咱们叫1个字节(byte)。由于8位寄存器比较普遍,当成一个单位,所以1byte=8bit。也便是一个字节有256种状况。
这一个小小的8位寄存器就很有玩法。
假如咱们用它表明数字的话,能够表明从0到255。假如,咱们想表明带符号的数字,比方正数和负数。那么咱们把第1位作为符号位,0表明正数,1表明负数,其他7位表明数值,那能够表明从-127到+127。
其实,上面选用符号位来表明正负数的方法,这就出现了编码的概念。经过编码,能够做更多的工作。
关于数字来说,0到9就足够了。其他的数值,咱们完全能够从这10个根本数字傍边组合出来。咱们的比特有限,还有更多的信息需求经过编码来表明。
字符的编码
你现在看到的这段字,计算机里是怎样存储的,你知道吗?
就比方“IT”这两个字符。你或许说,存的便是两个字符呀!一个“I”,一个“T”,我键盘敲上去,ctrl+s保存到我的word文件中。
我的读者朋友,计算机只认识1和0,到什么时候也是这样。你屏幕上看到的都是假象,不是本质。
关于字符的存储,也选用了编码的原理。下面是其间一种,它叫ASCII字符编码。这套编码规范是60多年前创造的。
1字节能够表明从0到256,这儿它就用了一半,将0到127表明了一系列字符。其实,大写字母I,是第73号(二进制1001001),大写字母T是84号(二进制1010100)。
有了这个规范之后,当你在键盘上按下了I,到了电脑里实际存的是73(1001001)这个数。当你下次读取的时候,电脑看到是73,怕你不理解,再转化为一个“I”形状的图形显示到屏幕上。其实,电脑根本不知道“I”是什么东西。电脑也不知为啥你要看一个图形。可是,作为一个电脑,它仍是照做了。
关于英文言语来说,它们是26个字母的组合,因而这128个字符,现已完全能够满足日常的运用。它们甚至还能玩个花样。比方7号,它的字符是beep。你要是print一下它的话,你的电脑会宣布“哔~”的声响。
编码都是人为规矩的。你有ASCII编码,我也能够有其他编码,这是计算机行业规范的工作。
拿咱们的汉字来说,它的状况就多了去了。因而,128就承载不了,256也不行啊。所以,咱们常常听说,一个汉字占2个字节,也便是有256256=65536种状况。这么多,就够用了。
大哥说,用1和0,经过编码构成文字,这个我了解了。可是,那些个图片、音频、视频这些多媒体文件,它们又是怎样用1和0构成的呢(大哥便是会推动剧情)?
文件的编码
其实,图片、音视频这些多媒体文件,以及其他各种类型的源文件,它们的存储也都是编码。
比方一张图片,你用肉眼看到的是视觉上的图片。其实,在计算机中,它也是以数据符的方法存储的。下面我就以字符文本的方法,翻开了一张图片(这种翻开的方法不对)。
你表面上看,它存的是字符。其实这主要是为了能在屏幕上出现。再往里深究,它存的依然是1和0。
那么,图片是怎样来编码呢?
咱们都知道,图片是由像素组成的。
咱们能够按照一定的规矩,将这些像素格子用数表明出来。
另外,色彩也是能够用数字编码的。
因而,订一套规矩就能够了。
比方,我上面翻开的那张图,它一开端就指出这是一个gif格局的图片。后边的数据,或许便是有多少个像素,每一个都是什么色彩等相似的信息。
音频文件也是。音频何尝不能用数据来描绘呢?
因而,它也是编码。下面是我翻开的一段音频文件。
我再翻开一个PPT给咱们看看。
其实也相似。看着像是乱码,其实都是编码数据(电脑:我能让你看理解了?你都不让我理解)。
其他的就不说了。比方视频,根本原理也相似,差异就在于其编码方法等规矩不同。
八卦一下
最终说一下八卦。
现在也有学者,将周易八卦和二进制联系起来。
到底是现代人强行解说,仍是老先人确实有科学的才智,这个我不敢讨论。
可是,有一点我确实很想说。那便是咱们喜爱去解说全部。
千百年来,咱们的文明并不喜爱去搞细密的研究,比方科学范畴里那些数字公式什么的。咱们更推崇一种思想上的“道”,或许说是一种“以不变应万变”的解说。
就比方说八卦,你能够说它代表天和地,对与错,男和女,白天与黑夜。当然,也能够说它代表二进制的0和1。那么,要是遇到“上”、“下”、“左”、“右”四个方向怎样办?那就加一道杠,表明左和右。其实就相当于拓展了寄存器。横竖不管啥,我都能给你组合出来。
咱们先人研究的这一套理论,你不服不行。其实到这儿,这个八卦现已不重要了,解说八卦的思路更值钱。结构越简略,解说性就越强。
我是一个传统文明的支持者,咱们的传统文明是很强大,能够解说全部。可是,这并不代表咱们就不必学习了。相反,咱们具有了这些理论,更要下功夫去实际使用。不然,很或许就被“亚里士多德”们给得着了。
我是掘金@TF男孩,一个研究传统文明的高新科技工作者。