什么是定点表示
掌握有符号数的原码计算方法,以及通过原码求真值;
掌握补码计算的方法,以及通过补码求原码,然后求真值的方法。
1)通过原码求补码:符号位不变,各位取反,末位加1;
2)通过补码求原码:符号位不变,各位取反,末位加1;
原码中0有2种表示方法(正零和负零),补码中0只有一种表示方法(正零和负零的表示方法一致)
假设有符号数的位数为8(包括符号位),补码能表示的真值的范围?
补码能表示的真值范围为-128~+127(参见补码定义)
掌握求反码以及移码的方法。
什么是定点表示?什么是浮点表示?
1)定点表示:小数点固定在某一位置的数为定点数;
2)浮点表示:小数点位置可以浮动的数。
浮点数在机器中的表示形式,由哪几部分组成?
由尾数、数符、阶码、阶符四部分组成。
掌握规格化浮点数的表示范围(最大正数、最小正数、最大负数、最小负数)的计算方法。
IEEE754标准规定的浮点数由哪几部分组成?
由数符、阶码(含阶符)以及尾数组成。
IEEE754标准规定的浮点数中,阶码和尾数用什么形式表示?
阶码用移码表示,其偏移量是2^(n-1),尾数用原码表示。
float占多少位?double占多少位?
float为短实数,占32位,其中阶码8位,尾数23位。
double为长实数,占64位,其中阶码占11位,尾数为52位。
对正数进行算术移位,当正数采用源码、补码、反码时,左移或右移时,低位或高位添补什么代码?
对于正数,其源码、补码、反码均等于真值,左移时,低位添补0,右移时,高位添补0。
对负数进行算术移位,当负数采用源码、补码、反码时,左移或右移时,低位或高位添补什么代码?
对于源码,左移或右移时,低位或高位均添补0;
对于补码:左移时,低位添补0,右移时高位添补1
对于反码:左移或右移时,低位或高位均添补1;
什么是逻辑移位?
逻辑移位是对无符号数的移位,由于无符号数不存在符号位,左移时,高位移丢,低位补零。右移时,低位移丢,高位补零。
加法和减法时,什么情况下可能发生溢出?如何简单判断发生溢出?
1)正数加正数,正数减负数,负数加负数,负数减正数时,可能会发生溢出。
2)如果参加操作的两个数符号相同(转换成补码的加法),其结果与源操作数符号不同,即为溢出。
3)如果补码采用1位符号位,如果最高有效位的进位和符号位的进位不同,则发生溢出。
定点乘法运算可以使用加法和移位来实现吗?
可以。
浮点加减运算基本按照哪几步来进行?
1)对阶:使小数点对齐;
2)尾数求和:将对阶后的两个尾数按照定点加减运算规则求和;
3)规格化:尾数规格化;
4)舍入:尾数右规时,丢失数值位;
5)溢出判断:判断结果是否溢出。如何判断浮点运算结果是否溢出?
阶码是否超出了其表示范围。(使用2个符号位判溢出)
- 点赞
- 收藏
- 关注作者
评论(0)