必胜高考网 > 计算机类 > 计算机等级 > 资讯 >

2014计算机三级《PC技术》计算机应用基础知识

时间: 家辉2 资讯

  (2)整数的变号操作

  所谓“变号操作”,是指将该整数变成绝对值相同符号相反的另一个整数。变号操作又称为“取负”运算,它的处理方法是,将该整数的每一个二进位变反,然后在最末位(个位)加1,其结果即为所求。

  (3)整数的移位操作

  移位操作有多种。按照移位方向来分,移位操作可分成左移、右移两大类;按照操作性质则又可区分为算术移位、逻辑移位和循环移位等不同类型。

  ① 算术移位

  当乘数或除数是2n时,算术移位用来快速地完成对整数进行乘法或除法的运算。算术左移n位相当于乘以2n,执行方法是把原来的数中每一位都向左移n个位置,左面移出的高位丢弃,右面低位空出的位置上全部补0。若正数左移过程中移出的位中包含1,或者负数移出的位中包含0时,则表示运算结果超出了可表示的数值范围,即发生了溢出,结果不正确。

  ② 逻辑移位

  逻辑左移n位的执行方法是,把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃,右面低位空出的位补0。

  逻辑右移n位的执行方法是把原来的每一位都向右移动n个位置,右面移出的低位丢弃,左面高位的位置上全部补0。

  ③ 循环移位

  循环移位是一种逻辑操作,它仅仅移动操作数中二进位信息的位置,不会丢弃任何一位信息。循环左移n位是把原来的数中每一位都向左移动n个位置,左面移出的高位放在右面低位空出的位置上。循环右移n位则把原来数中的每一位都向右移动n个位置,右面移出的低位放到左面高位空出的位置上。

  (4)逻辑运算

  逻辑运算(又称为布尔运算)总是按位进行处理的,即对应位之间进行规定的逻辑运算,不考虑位与位之间的进位。常用的基本逻辑运算有4种:“非”运算(NOT)、“或”运算(OR)、“与”运算(AND)、“按位加”运算(XOR),它们都非常简单。

  (5)整数加法

  两个带符号整数相加的运算方法很简单,只需从低位到高位把所有位(包括符号位)相加,逢二进一,最高位产生的进位忽略不计。做加法运算时判断有无溢出的规则是,两个同号的整数相加,若结果的符号却相反,则发生溢出。注意,是否发生溢出并不取决于最高位有无进位。

  (6)整数减法

  两上带符号整数相减的运算方法也很简单,只需先把减数变号,然后再与被减数相加即可。

  做减法运算时判断有无溢出的规则是,两个异号的整数相减,若结果的符号与被减数符号相反,则发生益出。当然,是否发生溢出也并不取决于最高位有无进位。

  实数(浮点数)的表示

  实数也称为浮点数,因为它的小数点位置不固定。实数是既有整数又有小数的数,整数和纯小数可以看做是实数的特例。任意一个实数在计算机内部都可以用“指数”(整数)和“尾数”(纯小数)来表示,这种用指数和尾数来表示实数的方法称为“浮点表示法”。所以,在计算机中实数也称为浮点数,而整数则称为定点数。

  以流行的Pentium系列微处理器中的浮点数为例,它表示为如下形式。

  可以看出,pentium系列微处理器中的浮点数具有如下性质。

  ① 最高位是符号位,它表示该浮点数(实数)的正负。

  ② 规格化浮点数的尾数的最高位(第1位)总是1,它不必在尾数表示出来。

  ③ 浮点数的0有两种,+0和-0。+0表示成全0,即0 00000000 000000000000000000000000,-0表示成1 00000000 00000000000000000000000。

  ④ 浮点数的表示范围虽然很大,但运算中还是可能出现超出它允许范围的一些结果,这种情况称为“向上溢出”。

  ⑤ 浮点数能表示绝对值很小的数,当运算中出现绝对值更小的数时,这种情况称为“向下溢出”,这时,处理器只能用0来表示。

  实数的运算

  浮点数的加、减运算要比定点数(整数)复杂得多。下面只作简要介绍。

  ① 检测A和B中有无0,若A=0,则C=B,若B=0,则C=A。运算结束。

  ② 计算两数阶码之差,即d=Ea-Eb,若d>0,则将尾数Bs向右移d位,若d<0,则将尾数As向右移-d位,若d=0,则As和Bs均不移位。这个过程称为对阶。

  ③ 将对阶过后的两个尾数相加或相减。

  ④ 把结果进行规格化。对于Pentium处理器来说,若结果尾数绝对值小于1,则尾数不断左移且阶码不断减1,直至尾数绝对值大于或等于1;若结果尾数绝对值大于或等于2,则尾数右移1位阶码加1。

  注意,两浮点数相加或相减时,在结果规格化的过程中,可能会发生上溢或下溢。浮点数的乘除法比加减法稍简单一些,其公式为:

  乘积=(As×Bs)×2Ea+Eb

  商=(As/Bs) ×2Ea-Eb

  处理过程如下:

  ① 检测A和B中有无0,若As=0,则乘积(商)=0,运算结束;若Bs=0,做乘法运算时乘积=0,做除法运算时商为∞,运算结束。

  ② 计算两数阶码的和(或差)

  ③ 两尾数相乘或相除。

  ④ 把结果进行规格化,即:若结果尾数绝对值小于1,则尾数不断左移且阶码不断减1,若结果尾数绝对值大于或等于2,则尾数右移且阶码加1。

  注意,两浮点数相乘或相除时,在阶码相加 (减)的过程中,或者在结果规格化的过程中,可能会发生上溢或下溢。浮点数运算过程中,为了保证浮点数运算的精度,当尾数右移时,对移出的位还需进行舍入处理。

56356