美文网首页
浮点数的阶码,尾数与移码

浮点数的阶码,尾数与移码

作者: 陈斌彬 | 来源:发表于2020-06-11 10:21 被阅读0次

【阶码与尾数】

十进制中通常一个浮点数可以用科学技术法来表示,举例:-306.5可以表示为-0.3065*103

其中 -是符号,指数3是阶或称阶码,0.3065是小数部分 左右段非0包起来的部分是有效值 这里的有效值是3065,小数部分也称为尾数,显然3065也是尾数(-3.87的话 387是有效值 87是尾数)。

因为他可以表示为-3.065102 也可以表示为-0.03065104 等,小数部分可以左右“浮动” 但不管小数部分怎么移动,他的有效值是不变的,都是3065 (不过尾数是变化的)。

【移码】
于是两个浮点数相加就先要通过小数点的左右浮动,将阶码对齐,然后进行尾数相加。

S为符号位,Exp为指数位,Fraction为有效数位。 指数部分即使用所谓的偏正值形式表示(也就是移码),实际值为表示值与一个固定值(32位单精度的情况是127)的和。采用这种方式表示的目的是简化比较。因为,指数的值可能为正也可能为负,如果采用补码表示的话,全体符号位S和Exp自身的符号位将导致不能简单的进行大小比较。正因为如此,指数部分通常采用一个无符号的正数值存储。

单精度的指数部分是-126~+127加上127 ,指数值的大小从1~254(0和255是特殊值)。浮点小数计算时,指数值减去偏正值将是实际的指数大小。

【浮点数的二进制转换】
在计算机内部,浮点数都是以二进制表示的,所以 对于十进制浮点数,要先转换为二进制浮点数,然后分两步,整数部分的转换,采用(“除2取余法” ) 小数部分采用 (“乘2取整法”)即把小数部分乘2取整,在把取完整数好留下的小数部分在乘2取整,直到小数点后第一位为0,以此类推。

【浮点数的二进制转换成十进制】
与十进制转换为二进制相反,对于浮点数,将小数部分逐位乘2的-n次方,n为小数点后的位数。如 二进制0.101转换为十进制,即1*(1/2)+ 0 (1/4) + 1(1/8) = 0.625

【规格化】
为了使有效值和尾数能够统一,在空间上表达更有效率 有必要将所有浮点数规格化,即浮点数通过调整阶码,写成小数点前不含有有效数字,小数点后第一位由非0数字表示,举例-306.5规格化为-0.3065*103 。

二进制浮点数的规格化方法:
通过调整小数点的阶码使得该数的有效值在1和2之间,既二进制浮点数的整数部分为1,

例如:0.8125 = 0.1101(2) = 1.101*2(-1)

【举例】

请将十进制数0.07525表示为规格化浮点数,阶码(包括阶符)为4位二进制位,尾数(包括)尾符为8位二进制数,均采用补码形式。

0.07525表示成二进制是:
0.075252=0.1505 0
0.1505
2=0.301 0
0.3012=0.602 0
0.602
2=1.204 1
0.2042=0.408 0
0.408
2=0.816 0
0.8162=1.632 1
0.632
2=1.264 1
0.2642=0.528 0
0.528
2=1.056 1
0.0001001101=1.0011012^-3
由于尾数(包括)尾符为8位二进制数,所以,0.07525(十进制)=1.001101
2^-3(二进制)

阶码=-3+127=124,符号位 指数部分 尾数部分:0 01111100 00110100000000000000000

相关文章

  • 软考-数据与校验(上)

    1.数据表示 1.1:设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表...

  • 浮点数的阶码,尾数与移码

    【阶码与尾数】 十进制中通常一个浮点数可以用科学技术法来表示,举例:-306.5可以表示为-0.3065*103 ...

  • 计算机组成与体系结构知识点一

    数据的表示1、如果浮点数的阶码用R位的移码表示,尾数用M位的补码表示,则这种浮点数的数值范围为: 2、浮点数的 决...

  • 网络工程师错题知识点集合(四)

    网络工程师纠错本 如果浮点数的阶码(包括1位阶符)用R位的移码表示,尾数(包括1位数符)用M位的补码表示,则浮点数...

  • 浮点定点的存储

    比如单精度浮点数(32位),阶码8位,尾数那就是24位咯(尾数中内含一位符号位); 比如双精度浮点数(64位),阶...

  • 移(增)码

    移码 主要是 小数点移动的位数移码的主要操作是为了浮点数的比较大小 只要比较阶码大小就可以了 参考:https:...

  • 为什么浮点数的偏置常数用127而不是128

    偏置常数 通常编码位数为n时,bias取,或者,当bias为,时移码和补码仅第一位不同,移码用来表示浮点数的阶。 ...

  • 反码 补码 移码

    移码表示法是在数X上增加一个偏移量来定义的,常用来表示浮点数中的阶码方便比价,在补码的基础上,全部加一个2^(n-...

  • 2020-11-15

    阶符:阶码的符号。 阶码:在机器中表示一个浮点数时需要给出指数,这个指数用整数形式表示,这个整数叫做阶码。 数符:...

  • IEEE754 浮点数

    先说明很重要的一点 用移码表示阶码和用IEEE 754标准表示阶码是两回事,IEEE754标准中偏移值是127,而...

网友评论

      本文标题:浮点数的阶码,尾数与移码

      本文链接:https://www.haomeiwen.com/subject/ieyvtktx.html