浮点数

作者: Rumbles | 来源:发表于2018-02-28 17:14 被阅读34次

S = M*2^N

31位是符号位:0正,1负

N :中间8位是阶码位:表示范围为【-128~127】,对于float型数据规定其偏移量为127(下面解释) 偏移127 是因为 8位表示的范围 【-127~127】 确保最小值从0开始

M:后面23为是有效数字位:因为科学计数法,整数位定死了是1,所以这里记录的是小数点后面的二进制位

负数以补码的形式存在

float型数据125.5转换为标准浮点格式

125二进制表示形式为1111101,小数部分表示为二进制为 1,则125.5二进制表示为1111101.1,由于规定尾数的整数部分恒为1,则表示为1.1111011*2^6,阶码为6,

6 0000 0110 -> 移码 1000 0110  减1就是 1000 0101
加上127为133,则表示为10000101,而对于尾数将整数部分1去掉,为1111011,在其后面补0使其位数达到23位,则为11110110000000000000000

则其二进制表示形式为

0 10000101 11110110000000000000000

为什么要对浮点数的尾数规格化:
为了确保浮点数表示的唯一性 那么就是1.2222
我的理解是:为了简化计算过程以及规范数的表示形式。当尾数被规格化后,数的大小判断就可以直接由阶码来决定(除了阶码相同的情况),不需要查看尾数,简化了计算过程。

非规格化浮点数 是指的计算机中处理的一类特殊[浮点数]。在规格化浮点数中,浮点数的[尾数]不应当包含前导0。如果全部用十进制表示,对于类似0.0123的浮点数,规格化的表示应为1.23e-2。但对于某些过小的数,如1.23e-130,允许的阶数位数不能满足[阶数]大小的需要,这时可能就会在尾数前添加前导0,如将其表示为0.000123e-126。

对于规范化的浮点数,阶码转换成移码时,偏移的是127,且尾数M对应的真值为1+M
但对非规范化浮点数,把阶码转换成移码时,只偏移126,且尾数M对应的真值仍然为M(不加1)
为什么?

参考:
http://www.cnblogs.com/dolphin0520/archive/2011/10/02/2198280.html

iEE754关于浮点数的规定
https://wenku.baidu.com/view/093e85dd76a20029bd642dcb.html

32位 S符号位 E 8位 M23位
64位 S符号位 E 11位 M52位 52位表示纯小数

相关文章

  • PHP浮点数精度问题

    PHP常见的浮点数“bug” 浮点数的表示形式 浮点数的表示(IEEE 754): 浮点数, 以64位的长度(双精...

  • Python 入门演示

    简单的数学运算 整数相加,得到整数: 浮点数相加,得到浮点数: 整数和浮点数相加,得到浮点数: 变量赋值 Pyth...

  • 6-0. 混合类型数据格式化输入

    本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。 输入格...

  • 3_浮点数的秘密

    关键词:内存中的浮点数、浮点数存储示例、十进制浮点数的内存表示、 float类型的不精确示例 1. 内存中的浮点数...

  • python中的数据类型和变量

    浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1....

  • Python基础知识点拾遗

    浮点数 系统浮点数信息 1.完整信息 显示结果为: 2.浮点数能表示的最大值 3.浮点数能表示的最近接0的值 4....

  • 1.2 浮点型运算

    在计算机中,浮点数虽然表示的范围大,但是,浮点数有个非常重要的特点,就是浮点数常常无法精确表示。浮点数在内存的表示...

  • 浮点数原理与精度损失问题

    写在前面 碰巧最近定义接口的时候碰到了浮点数精度的问题,稍微整理了浮点数的一些知识点: 浮点数的底层表示 浮点数的...

  • JavaScript 中的数字 Number 易于忽略点

    JavaScript 中的数字 Number 易于忽略点 一、浮点数 1. 浮点数的存储 保存浮点数值需要的内存空...

  • 高级综合工具StratusHLS学习笔记(4)

    HLS中使用浮点数 学习目标: 使用浮点数 换用自己的库进行高级综合 HLS中的浮点数 stratus HLS提供...

网友评论

      本文标题:浮点数

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