0


计算机内部的数据表现形式及运算过程

1.计算机信息用二进制数表示的原因

     计算机内部都是由IC(集成电路)这种电子部件组成的,如下图所示,为典型IC的形状,在其两侧有大量的引脚,IC所有的引脚只有直流电压0V和5V两种状态。IC的这种特性决定了计算机的信息数据只能用二进制数来处理。二进制的位数一般都是8位、16位和32位,即8的倍数。8位二进制数被称为一个字节,字节是最基本的信息计量单位。位是最小单位,字节是基本单位。

     用字节单位处理数据时,如果数字小于存储数据的字节数,则在高位上用0填补。对于二进制表示的信息,计算机不会区分它是数值、文字,还是某种图片的模式等,而是根据程序中的指令来进行信息的处理。

2.二进制数的转换与表示

    ![](https://img-blog.csdnimg.cn/20210713203324472.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlaGVjeDEyMw==,size_16,color_FFFFFF,t_70)

     上图为二进制数向十进制数的转换,从图中可以看出,转换方式为二进制的每一位数乘以2的(位数-1)次幂,2的(位数-1)次幂称为位权,通常2被称为基数,这种计算方式适用于各种进制数。

3.移位运算与乘除运算的关系

      二进制运算与十进制运算一样,也同样适用于四则运算,二进制的加减运算和十进制比较类似,十进制是逢十进一,而二进制则是逢二进一。但是二进制的乘除运算则是通过移位来实现的,二进制中的移位运算是把所有位数向左移或者右移,<<和>>分别代表左移或者右移运算符,如下图所示为将39所表示的二进制进行左移两位的操作,可以看出二进制数值变为原来的4倍,空出来的低位补0,这就是二进制的乘法,相对应的除法就是右移操作了。注意,不论程序代码中移位操作的几进制数,最后到计算机中都会转换为二进制进行操作。

4.二进制的“补数”

    二进制中如何表示正数与负数呢,一般是通过最高位的位数是0或者1来表示,如果是0的话,则表示该二进制数为正数,如果为1则表示为负数。那已知正数如何来求负数呢?这里我们引进补数的概念,所谓补数就是对原来的二进制正数进行“取反+1”的操作。最高位为0的正数的二进制的值可以按照各个数位与位权乘积之和来求解,但是最高位为1的负数的二进制的值显然不能通过这种方式来求解。这里我们可以使用补数来求解。同理,我们知道了二进制的负数,通过“-1再取反”可求得二进制正数。

5.逻辑右移和算术右移

    当二进制数值表示的是图形模式,而不是数值模式时,对二进制数位进行右移操作时,空出来的高位统一补0,不考虑移位前二进制是正还是负的,这时候也不需要考虑移位后数值的大小了。而针对算术右移,即二进制数表示的是数值时,算术右移后最高位补0还是1则是根据移位前二进制数的最高位确定的,移位前最高位为1则移位后空出来的最高位补1,反之则补上0。

6.逻辑运算

    常见的逻辑运算包括与、或、非或者异或运算。 具体运算规则如下:

运算规则与A和B同是为1时,结果才为1或A和B至少有一方为1,结果才为1非取反异或A和B数值不同时才为1

标签:

本文转载自: https://blog.csdn.net/hehecx123/article/details/118709762
版权归原作者 JavaCx123 所有, 如有侵权,请联系我们删除。

“计算机内部的数据表现形式及运算过程”的评论:

还没有评论