查看: 2103|回复: 5
收起左侧

[其他] c#浮点类型的精度与范围等问题

[复制链接]
hentaiczx
发表于 2015-3-12 19:31:06 | 显示全部楼层 |阅读模式
c#浮点类型的精度与范围等问题


初学c#,很多不懂。
如图。
1.第一张图的精度是指有效数字是7还是保留7位小数或是其他的什么?大致范围是怎么计算出来的?
2.第二张图的三种类型M.E各占多少位,为什么?e值到底是什么?e的最小值最大值怎么出来的?近似的最小值最大值怎么出来的?另外为什么float的最小值与第一张图的最小值不一样?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
thelord
发表于 2015-3-12 21:22:48 | 显示全部楼层
浮点数在内存中是按科学计数法来存储的
C#中float的取值范围和精度
hentaiczx
 楼主| 发表于 2015-3-13 16:13:39 | 显示全部楼层
thelord 发表于 2015-3-12 21:22
浮点数在内存中是按科学计数法来存储的
C#中float的取值范围和精度

那么第2张图的e值是什么呢?
thelord
发表于 2015-3-13 16:30:05 | 显示全部楼层
hentaiczx 发表于 2015-3-13 16:13
那么第2张图的e值是什么呢?

浮点数二进制表示
二进制浮点数的科学计数法
float = (-1)^S * M * 2^E
M 表示有效数字,范围 [1,2)
E表示指数位
hentaiczx
 楼主| 发表于 2015-3-13 16:33:34 | 显示全部楼层
thelord 发表于 2015-3-13 16:30
浮点数二进制表示
二进制浮点数的科学计数法
float = (-1)^S * M * 2^E

我之前也这么想,但是指数位不应该是-127~+128吗?
thelord
发表于 2015-3-13 17:28:31 | 显示全部楼层
hentaiczx 发表于 2015-3-13 16:33
我之前也这么想,但是指数位不应该是-127~+128吗?

估计是 .NET 的龟腚
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-12 19:07 , Processed in 0.128325 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表