IEEE75原理

要解决问题:目前只有有符号整数,想用这些数表示小数浮点数

 

解决思路:用有符号数表示阶码,用有符号数表示尾数,用一位表示正负,得到一个缝合怪,可以表示小数

 

具体规则:

  构成:数符---阶码---尾数

  细节:阶码用移码表示(因为科学计数法的加减需要获得两个数量级的差距,然后对齐令尾码加减,所以用移码最方便),且全0全1不可用;尾数默认从左向右数到第一个1开始,且省略这个1

  表示数:

    正常范围浮点数:正常表示

    非常小的浮点数:令阶码全0,尾数可以写00010011,扩展了最小位,符号位0/1

    无穷大的表示:令阶码全1,尾数全0,符号位0/1(注意这里是阶码,对应的原码应该是分别为-128 -127这个样子)

    非数值数(NaN)表示:阶码全1,尾码不全为0,一般0/0或无穷减无穷时出现

  具体例子:

    短浮点数float阶码为8尾数为23,总位数32

    长浮点数double阶码为11,尾数为52,总位数64

    临时浮点数long double阶码为15,尾数为64,总位数80

 

    

posted @ 2022-07-18 23:58  srid  阅读(131)  评论(0)    收藏  举报