前两天不知道怎么的脑袋短路了,提出了一个非常莫名其妙的问题还在跟到同学讨论,不过看样子他们也被我的这个陷阱迷惑而掉进去了。问题是这样的,我们都知道计算机是二进制的,我们敲入的字符最后都是转变成了二进制的,CPU是怎么认识这些二进制呢?高电平为1,低电平为0,CPU怎么把二进制转换成高低电平的呢??
如果你也觉得这个问题很难的话,那么你也掉进了这个陷阱了,呵呵。其实对于CPU,就不说0,1,就是高低电平的排序。在整个过程中键盘的按键就实现了高低电平的转换。举个简单的例子,我按了一个a键,操作系统会检测是否同时按了shift,或者开启了大写锁定,如果没有,则是小写字母a,其ASCII码为97,转换成二进制为01100001,8位二进制表示的ASCII码。如果是8个开关的话,也就是说我们按下键盘上的a,操作系统经过转换转换成01100001,依次为0-8个开关的话,则此时的开关状态就是开-关-关-开-开-开-开-关。所以我们按下键的时候就已经可以说是触发了电平的改变,就根本不存在CPU来认识2进制了。
这件事情告诉我,想问题最好从源头开始想起,还有遇到问题要冷静。