>>>>>>【希赛】2016年下半年软考分数早知道,希赛网解析真题
下面是希赛软考网为大家推荐的软考网络管理员备考知识点精讲之数据运算,希望能帮助学友们。
数据运算
根据考试大纲的要求,在本节知识点中,主要考查计算机中的二进制数运算方法,其中二进制数的运算可以分为算术运算和逻辑运算。
1.算术运算
二进制数的算术运算比较简单,与十进制算术运算类似,它的基本运算是加法。无论加、减、乘、除运算都可以归结为加法运算。
(1)二进制加法运算规则:0+0=0;0+1=1;1+0=1;1+1=10(逢二进一)。
(2)二进制减法运算规则:0-0=0;0-1=1(借一当二);1-0=1;1-1=0.
(3)二进制乘法运算规则:0×0=0;0×1=0;1×0=0;1×1=1.
(4)二进制除法运算规则:0÷0=0;0÷1=0;1÷0=0(无意义);1÷1=1.
2.逻辑运算
逻辑运算主要包括三种基本运算,分别是逻辑加法(或运算)、逻辑乘法(与运算)和逻辑否定(非运算)。此外,异或运算(半加运算)也很有用。
(1)逻辑加法通常用符号"+"或"∨"来表示。逻辑加法运算规则如下:
0+0=0,0∨0=0;
0+1=1,0∨1=1;
1+0=1,1∨0=1;
1+1=1,1∨1=1.
从上式可见,逻辑加法有"或"的意义,因此,也称为逻辑或运算。也就是说,在给定的逻辑变量中,A或B只要有一个为1,其逻辑加的结果就为1,只有两者都为0时,逻辑加的结果才为0.
例如,某逻辑电路有两个输入端分别是X和Y,其输出端为Z.当且仅当两个输入端X和Y同时为0时,输出Z才为0,则该电路输出Z的逻辑表达式为X+Y.
(2)逻辑乘法通常用符号"×"或"∧"或"·"来表示。逻辑乘法运算规则如下:
0×0=0,0∧0=0,0·0=0
0×1=0,0∧1=0,0·1=0
1×0=0,1∧0=0,1·0=0
1×1=1,1∧1=1,1·1=1
不难看出,逻辑乘法有"与"的意义,因此,也称为逻辑与运算。它表示只当参与运算的逻辑变量都同时取值为1时,其逻辑乘积才等于1.只要有一个逻辑变量为0,其结果就为0.
例如,用二进制数0与累加器X的内容进行与运算,并将结果放在累加器X中,一定可以完成对X的"清0"操作。
(3)逻辑否运算又称为逻辑非运算。其运算规则为:,.
(4)异或运算通常用符号"⊕"表示,其运算规则为:
0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0
即两个逻辑变量相异(一个为0,另一个为1),结果才为1.
例如,在进行定点原码乘法运算时,乘积的符号位是被乘数的符号位和乘数的符号位通过异或运算来获得。因为原码的符号位表示数的正负,0表示正数,1表示负数。被乘数和乘数都是正数时,值为正数;都为负数时,值也为正数;只有当一个数是正数,另一个数是负数时,值才为负数。
多位数进行逻辑运算时,也是按照"逐位运算"的规则进行的。例如,8位累加器A中的数据为FCH,若将其与7EH相异或,则累加器A中的数据为82H.因为将FCH和7EH转换为二进制数,得到11111100和01111110,根据异或的运算规则,可以得到10000010,然后将10000010转换成十六进制,得到82H.
3.移位运算
在前面介绍了二进制数的算术运算中的乘除运算,例如:求(1011.11)2×(101)2的值。利用其运算规则:
1011.11
×) 101
101111
000000
101111
111010.11
由上式可见,二进制乘法运算可转换为"加法和移位"运算。在计算机中,实现乘除运算的方案有三种:软件实现、设置专有的乘法、除法器、通过逻辑线路来将乘除运算变换为移位操作。其中以采用移动操作来实现居多。而移位操作主要包括算术移位、逻辑移位和循环移位三种。而移位操作主要包括算术移位、逻辑移位和循环移位三种,如表1-5所示。
表1-5 移位操作的类型
例如,对8位累加器A中的数据7EH,如果逻辑左移一次,则累加器A中的数据为FCH.因为十六进制数7EH转换成二进制为01111110,根据表1-5关于逻辑移位的描述,在移位时不需要考虑符号位,因此,只需将数左移一位,右边空出来的部分补零,这样就得到二进制数11111100,再转换成十六进制表示就是FCH.
在算术移位中,不同码制机器数移位后的空位添补规则如表1-6所示。
表1-6 空位填补规则
说明:
(1)机器数为正时,不论左移或右移,空位均添0.
(2)由于负数的原码其数值部分与真值相同,故在移位时只要使符号位不变,其空位均添0.
(3)由于负数的反码其各位除符号位外与负数的原码正好相反,故移位后所添的代码应与原码相反,即全部空位添1.
(4)分析任意负数的补码可发现,当对其由低位向高位找到第一个"1"时,在此"1"左边的各位均与对应的反码相同,而在此"1"右边的各位(包括此"1"在内)均与对应的原码相同,即添0;右移时因空位出现在高位,则添补的代码应与反码相同,即添1.
例如,补码10110100算术右移2位的结果是11101101.因为较高位为1,表示是负数,1作为符号位保持不动,其他各位向右移动2位(0110110→01101),这样,左边就空了2位,根据表2-7的规则,这里应该补1,则变为1101101,再加上符号位1,最后结果为11101101.
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。