• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

(一)学习C#之浮点类型float小结

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

类型:float

大小:32位

范围a:±3.4E38  MSDNhttp://msdn.microsoft.com/zh-cn/library/b1e65aza.aspx

范围b: ±1.5E45~±3.4E38  来源:C#本质论5.0一书 不知道±1.5E45怎么得来的?

BCL名称:System.Single

有效数字:7

后缀:F或f

 

float值在内存中是以科学计数法方式存储,从左向右是高字节到低字节,最左一位为第31位,最右一位为第0位。

SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM

1.第31位S表示符号位,值为0或1,0表示正号,1表示负号;

2.第23位~30位E是指数部分,指数部分主要表示值的大小;

  (1)若S为0,指数部分越大,值越大;若S为1,指数部分越大,值越小。也就是说,指数部分越大,取值范围越大;

  (2)因为指数范围是-127~128,float的范围:-2^128~+2^128,即-3.4028236692094 * 10 38~+3.4028236692094 * 10 38,简写为:-3.4E38~+3.4E38

3.第0位~22位M是尾数部分,尾数部分主要表示值的精度

  (1)float精度由尾数位数决定,有效数字为7位,即精度为7位。

  (2)二进制中尾数部分有23位,最大值为:1111 1111 1111 1111 1111 111,转换为十进制为:2^23-1= 8388607,刚好7位。

4.特殊表示:

  1 11111111 尾数的23位不全为0: 表示不是数值 
    1 11111111 00000000000000000000000: 表示负无穷大.比最小负数还小的数都视为负无穷大
  1 11111110 11111111111111111111111: 表示最小的负数,-2^128=-3.4*10^38 
    1 00000001 00000000000000000000000: 表示最大的负数,-2^(-126)=-1.18*10^(-38) 
    0 00000000 00000000000000000000000: 表示
    0 00000001 00000000000000000000000: 表示最小的正数,2^(-126)=1.18*10^(-38) 
    0 11111110 11111111111111111111111: 表示最大的正数,2^(128)=3.4*10^(38) 
  0 11111111 00000000000000000000000: 表示正无穷大,比最大正数还大的数都视为正无穷大
    0 11111111 尾数的23位不全为0: 表示不是数值

故,float型数据的表示范围包括: 
      负无穷大; -3.4*10^38<x<-1.175*10^(-38); 0; 1.175*10^(-38)<x<3.4*10^38; 正无穷大.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#正则Groups高级使用方法发布时间:2022-07-14
下一篇:
C#编程(十五)----------只读字段发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap