一、选择题
1. 下列有关浮点数加减运算的叙述中,正确的是( )。
对阶操作不会引起阶码上溢或下溢
右规和尾数舍入都可能引起价码上溢
左规时可能引起阶码下溢
尾数溢出时结果不一定溢出
A. 仅
B. 仅
C. 仅
D.
答:D
【解析】浮点数的加减运算步骤包括:①对阶,使两个操作数的小数点位置对齐,阶码小的尾数右移,可能产生溢出,但是阶码不会溢出;②尾数求和,将对阶后的尾数按定点数加(减)运算规则运算;③规格化,包括左规和右规,左规时阶码减少,可能出现阶码下溢,而右规时,阶码増加可能出现阶码上溢;④舍入,该过程可能需要右规调整,因此可能出现阶码上溢;⑤溢出判断,浮点数的溢出与否是由阶码的符号决定的,而不是由尾数溢出判断的,因此尾数溢出时结果不一定溢出。因此均正确。
2. 浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)
。若有两个数
则用浮点加法计算X+Y的最终结果是( )。
A.001111100010
B.001110100010
C.010000010001
D. 发生溢出
答:D
【解析】浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤,难点在对阶、规格化、判溢出这三步。X 和Y 的阶码不同,所以应该先对阶,对阶原则为:小阶向大阶看齐。因此将Y 对阶后得到:Y=然后将尾数相加,得到尾数之和为:34/32。因为这是两个同号数相加,尾数大于1,则需要右规,阶码加1。由于阶码的位数为5位,且含两位符号位,即阶码的表示范围在-8〜+7之间。而阶码本身等于7, 再加1就等于8。因此,最终结果发生溢出。
3. 本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( )。
A. 命令解释程序
B. 中断处理程序
C. 系统调用服务程序
D. 用户登录程序
答:B
【解析】外部设备在与计算机连接时有多种方式,中断技术就是一种常用方式。其工作原理是:利用处理机中断信号线,外部设备在需要服务的时候将该线设置为有效,计算机若同意接受
,中断则会停止当前进程的运行,转而服务发出中断的物理设备(注意与陷阱,即软中断有区别)
那么对不同外部设备进行服务的程序代码是不同的,如何找到这些代码呢? 这就要借助中断向量,中断向量一般是由硬件根据中断的类型(不同外设不同)计算所得,或计算机系统在开机配置时所配置的。处理机取得中断向量,其实就是一个物理地址,该地址下存放的是为此中断服务的代码的起始地址。所以,当键盘按下的时候,键盘控制器获得该操作动作,先将键盘扫描码读入键盘缓冲区,再向处理机发出键盘中断,适当的时候(一条指令的末尾或一条原语结束)处理机会响应中断,调用指定服务程序将键盘缓冲区中的键盘扫描码输入到登录进程中去。如此,最先响应键盘的必然是中断处理程序。本题中,像命令解释器(例如cmd 窗口)、系统调用服务和用户登录程序都在中断处理程序后面。
4. 设二维数组(即m 行n 列)按行存储在数组
在一维数组B 中的下标为( )。
答:A
【解析】
前
的元素个数为
所以二维数组元素在一维数组B
中的下标为
需要注意数组B 的下标是从0开始,还是从1开始。
5.
已知操作符包括
的后缀表达式将中缀表达式转换为等价
中,
则二维数组元素时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
A.5
B.7
C.8
D.11
答:A 。
【解析】基本思想是:采用运算符栈是为了比较运算符的优先级,所有运算符必须进栈。只将大于栈顶元素优先级的运算符直接进栈,否则需要退栈栈顶运算符(先出栈的运算符先计算,同优先级的运算符在栈中的先计算)
。表达式
所列:
产生后缀表达式的过程如下表