进制表示-03 浮点数-随笔

发布时间 2023-03-22 21:14:25作者: 无酒无花锄作田

未来可期

        昨天看了很多软考心得,有些博主让我钦佩不已,同时也体现出这一段路不好走,

对于软考架构也有了一定的了解\(\Longrightarrow\)程序员(初级)\(\Longrightarrow\)软件设计师(中级)\(\Longrightarrow\)系统架构设计师(高级)


思维导图


浮点数

  • 特点:
    1、阶码的位数决定数的表示范围,位数越多范围越大
    2、位数的位数决定数的有效精度,位数越多精度越高
  • 两浮点数加减运算过程
    1、对阶
    2、尾数计算
    3、结果格式化
    注意
    1、对阶时,小数向大数看齐(统一规范)
    2、对接是通过较小数的尾数右移实现的

软考真题

  • 一、-37/64采用8位定点机器码表示

注意步骤
1、转分数形式
2、分子转二进制
3、分子部分尾数右移
4、添加符号位
5、补足位数

答:
1、-37/\(2^6\)
2、\((2^5 + 2^2 + 2^0) \times2 ^{-6}\)
3、100101\(2 ^{-6}\)
4、1.1001010(1是符号位,结尾不够8位补了0)


  • 二、以下关于浮点数表示的叙述中,正确的是(A)。32位浮点数,若阶码采用补码表示,为8为(含1位阶符),尾数采用原码表示,为24位(含1位数符),不考虑格式化,阶码的最大值为(C)
A、255 B、256 C、127 D、128

  • 三、对于浮点数x=\(m^*2^i\) 和y=\(w^*2^j\)已知i>j,那么进行x+y运算时,首先应该对阶,即 (D),使其阶相同

思路:1、对阶:小数->大数;2、j变成i,增加了i-j个


  • 四、已知X=-79/128,若采用8位定点机器码表示,则[X]= (C)

答:
X=-79/\(2^7\)
=\((2^6 + 2^3 + 2^2 + 2^1 +2^0) \times 2^{-7}\)
=1001111\(\times 2^{-7}\)
=.1001111\(\times 2^0\)
=1.1001111(补符号,刚好8位不用补位数);还没完呢,注意看题目,要求补码,咱们现在是原码;转换补码需要的步骤是 原码->反码->补码
=1.0110000 (现在等于反码->再+1就等于补码啦!)
=1.0110001