您好,登錄后才能下訂單哦!
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: 表示不是數值
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語言中怎么求最值的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。