网站建设 教程十大免费网站模板网站
web/
2025/9/26 13:18:22/
文章来源:
网站建设 教程,十大免费网站模板网站,2345网址大全浏览器主页,淘宝购物返利网站开发目录 1.浮点数是什么#xff1f; 2. 浮点数存储规则 1.浮点数是什么#xff1f;
就是数学中的小数。
常见的浮点数#xff1a;
3.14159
1E10#xff08;1*10^10#xff09;
浮点数家族包括#xff1a; float、double、long double 类型。 浮点数表示的范围#x…目录 1.浮点数是什么 2. 浮点数存储规则 1.浮点数是什么
就是数学中的小数。
常见的浮点数
3.14159
1E101*10^10
浮点数家族包括 float、double、long double 类型。 浮点数表示的范围float.h中定义(图1-1,图1-2) 图1-1 图1-2 2. 浮点数存储规则 根据国际标准 IEEE 电气和电子工程协会 754 任意一个二进制浮点数 V 可以表示成下面的形式 (-1)^S * M * 2^E (-1)^S 表示符号位当 S0 V 为正数当 S1 V 为负数。 M 表示有效数字大于等于 1 小于 2。 2^E 表示指数位。 举例5.5表示 一个二进制浮点数
小数点前的5- 二进制:101
小数点后的5- 二进制:1
写作101.1
为啥呢图解2-1 图解2-1
将其用科学计数法表示:1.011*2^2
S0 M1.011 E2
故(-1)^0*1.011*2^2 浮点型在内存中的存储图 IEEE 754 规定 1对于 32 位的浮点数图2-2最高的 1 位是符号位 S 接着的 8 位是指数 E 剩下的 23 位为有效数字 M 。 图2-2 2对于 64位的浮点数图2-3最高的1 位是符号位S接着的 11 位是指数 E 剩下的 52 位为有效数字 M 。 S无非存的是0/1。
但对有效数字M和指数E还有一些特别规定。
1.M 前面说过 1≤M2 也就是说 M 可以写成 1.xxxxxx 的形式其中 xxxxxx 表示小数部分。 在计算机内部保存 M 时 默认这个数的第一位总是1因此可以被舍去只保存后面的 xxxxxx部分。 比如保存 1.01 的时候 只保存01 等到读取的时候再把第一位的1加上去。 这样做的目的是节省1位有效数字。 以 32 位 浮点数为例留给M 只有 23 位 将第一位的1 舍去以后等于可以保存 24 位有效数字。 2.E 首先 E 为一个无符号整数 unsigned int 这意味着如果 E 为 8 位它的取值范围为 0~255 如果 E 为 11 位它的取值范围为 0~2047 。但是我们 知道科学计数法中的E 是可以出 现负数的所以IEEE 754 规定 存入内存时E的真实值必须再加上一个中间数对于8位的E这个中间数 是127对于11位的E这个中间 数是1023。 举例0.5 二进制形式为0.1由于规定正数部分必须为1即将小数点右移1位则为 1.0*2^(-1) 其阶码E为-1127126表示为 01111110 尾数M为1.0去掉整数部分为0补齐0到23位00000000000000000000000 则其二进 制表示形式为: 0 01111110 00000000000000000000000 E全为0 这时浮点数的指数 E 等于 1-127 或者 1-1023 即为真实值 有效数字M不再加上第一位的1而是还原为0.xxxxxx的小数。 这样做是为了表示 ±0 以及接近于 0 的很小的数字。 E 全为 1 如果有效数字M全为0表示±无穷大正负取决于符号位s。 以上为我个人的小分享如有问题欢迎讨论
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81530.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!