计算机如何将01转化为高低电平 看到一个帖子,终于解释了困惑。“机器语言的1010这一堆数字怎么变成高低电平的?”一个比较老的问题,但是很多人的回答非常傲慢,说什么看看《数字电路》《计算机原理》就知道了,可是很多人根本就不知道楼主在问的是什么。庆幸在最后一帖看到了想要的答案。 问题:高级语言编译成机器语言后,将这些机器语言存于存储器中,然后按顺序输出高低电平,实现用户的要求。。。我的问题是机器语言是怎么存进存储器中的,也就是说机器语言怎么变成高低电平进入存储器的。 也就是说机器语言的1010这一堆数字必须要变成高低电平才能存进存储器,从而被cpu读取,我就是想知道机器语言的1010这一堆数字是怎么变成高低电平的。 胡乱回答 之一:1和0是人为规定,你可以用ABAB或者其它代码表示高低电平。 之二:楼主回去看看《数字电路》吧(虽然楼主一再表示看过好几遍了都没有这个问题的答案) 答案: 在打孔机时代,这个问题可以这么看: 你的01010代码,需要专职的程序录入员将0和1用打孔和不打孔的方法,转换为纸条上的一串孔洞。然后有孔的程序纸通过光照区,有孔无孔转换为光点和暗点,再通过光敏元件,转化为高低电平。以后机器中就再也不会出现0和1,只有高低电平了。 可以说,录入员之前是一个世界,高级语言也好,汇编语言也好,机器代码也好,都是0101的二进制数字世界;光敏传感器之后,都是高低电平的世界。录入员+光电检测完成了这种转换。 现在的计算机,和打孔机时代的区别,只不过是输入变成键盘了,按键接通和断开代替了光线的有和无,在每个键下面的识别电路以后,就完全是高低电平的时代了,010已经不存在了啊。01在哪里?在我们的头脑中,在程序纸上,在键盘表面,在显示器上,就是不在键盘以下的空间中。 ps. 几年前问过我的同学,他们也没有给出准确的解释。清楚地记得有个家伙说,计算机中的信息(101010)也是一种物质,物质自然就可以传输了。。。 |
想法1:打孔纸袋存储介质,靠人工驱动方式依据0101二进制打孔。后来磁带,软盘,硬盘有各自驱动自动代替人工烧录进介质
想法2:二进制的01在电脑磁盘上存储的高低电平信息,对应的驱动需要复制到的电脑外的存储介质中。显示0是有显卡驱动完成的,显卡驱动读取0存储单元位置的电平,去驱动外部存储介质,是烧录,复制程序的关键信息
上述想法:1和2一直找不到原始的6(二进制0000,0110)如何转化为电路高低电平,到了键盘编码驱动,显卡驱动这才分清了文本的0000 0110是显卡驱动LCD显示的ASC码,键盘6按下,则0000,0110被电路驱动存储单元的8个位分别施加电平:低低低低,低高高低。就写进存储单元。
文本中的数字例如6如何转化为电路的高低电平呢?编译后的二进制文件如何烧写到单片机中呢?
这涉及到显示显卡驱动,键盘输入驱动,存储器原理,寻址方式等。下面简单梳理下。
最原始的转换在键盘输入。例如键盘上的6(二进制0000,0110)在键盘表中有自己的编码,下图有键盘编码解释
键盘上的6被按下,则,电脑就把6按照二进制数0000,0110,给存储单元的8个位分别施加电平:低低低低,低高高低。就写进存储单元。
而十六进制.hex或者.bin格式文本中的0000,0110则是显卡经过ASC码,驱动LCD显示出来的。
存储单元原理如下
读写存储单元可以参考上图。
而文件文本复制,.hex,.bin执行文件的烧写,可以看成是存储单元中数据高低电平的读写操作,读写操作又是以 寻址模式为基础加上指令系统,读写时序进行的存储器之间的转移传送。
今天的文章十六进制转换为二进制_十六进制转换为二进制分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85074.html