C语言基础:二进制和计算机语言杂谈 二进制100101转成十进制是多少

说计算机语言之前 , 先要说明计算机的工作原理 。如果是最简化的描述计算机 , 那么它就是很多很多个开关 。这些开关组合成了一些逻辑电路 , 很多很多个逻辑电路组合在一起就变成了计算机的处理器(CPU) , 在加上储存设备 , 输入输出设备就变成一个现在的计算机的样子了 。因为计算机底层就是很多很多开关 , 如何用电来表示这些开关呢 , 其实有很多个方案 , 比如用固定的电压表示开和关 , 比如220v表示开 , 12v表示关 , 但是电压是很不稳定的 , 用电多了会降低 , 少了会升高 , 所以用具体电压值表示开和关是很不方便的 , 人们采用了另外一种方案:电压的高低 。不用具体的数值 , 只用一个大致的范围表示开和关 , 比如4-5v表示高电平 , 0v表示低电平 , 这样就得到一个表示开和关的稳定的衡量标准了 。

C语言基础:二进制和计算机语言杂谈 二进制100101转成十进制是多少


正因为用电压的高低可以稳定的表示开和关 , 所以计算机在计算机中只有两个状态来传递信息 , 一个高电平 , 一个低电平 , 在计算机中 , 用1表示高电平 , 用0表示低电平 。
【C语言基础:二进制和计算机语言杂谈 二进制100101转成十进制是多少】所以 , 计算机世界中 , 只有0和1 , 其它的什么都没有 。
我们现实生活中用的是的十进制 , 就是只有0到9这十个数字 , 计算机只有0和1 , 它如何表示各种各样的数字呢 , 这个时候 , 人们就定制了一个规则 , 就说这个规则全世界的计算机都要符合它 。这个规则就是用1和0来表示十进制数字 , 这种规则就叫做二进制 。
它确定了二进制转换十进制的公式 。
C语言基础:二进制和计算机语言杂谈 二进制100101转成十进制是多少


举个例子 , 这是一串二进制 100101
人们规定了它转换成十进制的方法:从右到左 , 依次从第0位开始 , 注意不是第1位 , 第0位是1 , 第1位是0 , 第二位是1 , 第三位是0 , 第四位是0 , 第五位是1 , 这样数 , 然后怎么算十进制呢 , 每一位就是2的位数次方乘以这一位的值 , 然后相加 , 比如第五位是1 , 就是2的5次方乘以这一位 , 也就是2的5次方乘以1 , 等于32 。
明白了二进制是个什么东西之后 , 下面我们就可以谈计算机语言的发展了 。
1.机器语言
计算机刚发明出来的时候 , 指令都是一些开关 , 用这些开关来给CPU输入一些二进制的指令 , 比如输入
1110101表示一种指令 , 输入110000又表示另外一种指令 , 没错 , 就是这么萌 , 那个时候写好的程序就是很多很多的0和1……
毫无疑问 , 这很不利于程序的编写和修改 , 因此 , 更高级的汇编语言出现啦!
C语言基础:二进制和计算机语言杂谈 二进制100101转成十进制是多少


2.汇编语言
汇编语言就没有很多的0和1了 , 而是用到了十六进制和一些英文缩写指令 , 比如
MOV A , 13
ADD A , 8
这就比1和0好看很多了 , 但还是不够好 , 还是很难看懂的 。

推荐阅读