计算机使用二进制的原因
- 计算机本质上是由逻辑电路组成,只有与门与非门,各种组合情况与二进制相同。
- 二进制的运算比十进制、十六进制等都要简单,有利于简化计算机内部结构并提升运算速度。
- 还有其他各种原因。
表现
我们平时使用时感觉不到二进制的存在:因为电脑会把我们输入的信息自动转为二进制,在计算机内部都是通过二进制形式存储运算的,输出的时候又是将二进制的数据转为我们能看得懂的信息显示在屏幕上,常用的Ascll码、汉字编码GBK、UTF-8等信息编码在电脑内部都是以二进制编码表示的,例如GBK编码的“国”这个字在电脑内部的二进制可能是用10110表示,而UTF-8编码中,10110有可能表示的是其他汉字,因此网页编码不正确的话会经常出现乱码现象。
表示
为了区别不同数制表示的数,通常用右括另外下标数字或字母表示数制,十进制数用D表示,二进制用B表示,十六进制数用H表示,八进制用O表示。
若想将二进制转为 十进制,必须使用二进制的原码。
负数
在二进制码中,采用最高位是符号位的方法来区分正负数,正数的符号位为0、负数的符号位为1,剩下的就是这个数的绝对值部分,可采用原码、反码、补码这3种形式来表示绝对值部分。
原码就是绝对值的二进制数形式,例如+7的8位二进制原码是00000111,-7的8位二进制原码是10000111。
但对于二进制运算而言,原码的运算不够方便,当两个数相加时,要先判断这两个数的符号是否相同,符号不同则要继续判断哪一个数的绝对值更大,所以在计算机中,数据是以补码的形式存储运算的。
补码
正数的原码、补码、反码都相同,都等于它本身,而负整数的反码是将这个负整数的绝对值求反,再连同符号位1一起表示,补码则是反码加1。
- -7的8位二进制补码:11111001
- +13的8位二进制补码:+13d=00001101
- -13的8位二进制补码:-13d=11110011