温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言中怎么求最值

发布时间:2021-07-07 14:43:54 来源:亿速云 阅读:272 作者:Leah 栏目:互联网科技

C语言中怎么求最值,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

大家应该都知道整型数的最小值与最大值

C语言中怎么求最值

那浮点数呢?有点复杂!而且任意区间内,浮点的数量都是无限的。所以计算机中表示的浮点肯定是跳跃式的。

float(符号占1位,指数占8位,尾数小数占23位)的最值如下

  • 111111111尾数的23位不全为0,例如0xFF800001: 表示不是数值,VxWorks中用NaN表示无效数值

  • 11111111100000000000000000000000 = 0xFF800000:表示负无穷大,VxWorks中用Inf表示无穷大

  • 11111111011111111111111111111111 = 0xFF7FFFFF:表示最小的负数,即-2128,约等于-3.402824*1038

  • 10000000100000000000000000000000 = 0x80800000:表示最大的负数,即-2-126,约等于-1.175494*10-38,不过printf精度有限,一般就显示为0了

  • 00000000000000000000000000000000 = 0x00000000:表示0

  • 00000000100000000000000000000000 = 0x00800000:表示最小的正数,即2-126,约等于1.175494*10-38

  • 01111111011111111111111111111111 = 0x7F7FFFFF:表示最大的正数,即2128,约等于3.402824*1038

  • 01111111100000000000000000000000 = 0x7F800000:表示正无穷大

  • 011111111尾数的23位不全为0,例如0x7F800001: 表示不是数值

C语言中怎么求最值

double(符号占1位,指数占11位,尾数小数占52位)的最值如下

  • 111111111111尾数的52位不全为0,例如0xFFF0000000000001: 表示不是数值

  • 111111111111尾数的52位全为0 = 0xFFF0000000000000: 表示负无穷大

  • 111111111110尾数的52位全为1 = 0xFFEFFFFFFFFFFFFF: 表示最小的负数,即-21024,约等于-1.797693*10308

  • 100000000001尾数的52位全为0 = 0x8010000000000000: 表示最大的负数,即-2-1022,约等于-2.225074*10-308

  • 000000000000尾数的52位全为0 = 0x0000000000000000: 表示0

  • 000000000001尾数的52位全为0 = 0x0010000000000000: 表示最小的正数,即2-1022,约等于2.225074*10-308

  • 011111111110尾数的52位全为1 = 0x7FEFFFFFFFFFFFFF: 表示最大的正数,即21024,约等于1.797693*10308

  • 011111111111尾数的52位全为0 = 0x7FF0000000000000: 表示正无穷大

  • 011111111111尾数的52位不全为0,例如0x7FF0000000000001: 表示不是数值

C语言中怎么求最值


看完上述内容,你们掌握C语言中怎么求最值的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI