找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1216|回復: 4
打印 上一主題 下一主題
收起左側

C語言float小數點前就幾位,轉成整型最大值是多少?

[復制鏈接]
跳轉到指定樓層
樓主
ID:709761 發(fā)表于 2022-5-7 14:02 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2022-5-7 15:35 | 只看該作者
float轉成整型最大值是: 6.805646932770577*10^38
回復

使用道具 舉報

板凳
ID:123289 發(fā)表于 2022-5-9 16:37 | 只看該作者
要看float定義,用的是幾個字節(jié)。通;蚰J是4個字節(jié),一個字節(jié)表示方次,三個字節(jié)是底數。
如果,方次81H,底數000000H表示1,你估估看,它能表示的范圍。
最大值的表示方式:方次FFH,底數7FFFFFH(最高位隱含是1,寫1表示負數,寫0表示正數,但無論是正是負認定最高位是1)。如此,最大數是:+1.70141173319264E+38。
如果,方次7FH,底數000000H表示1,則與沙發(fā)的結論相同。
我至少遇到過兩種不同的浮點數表示方式(符號位的位置定義不同),又不敢認定哪一種是對是錯,因為在它們各自的編譯平臺下,數據一定是正確的。僅僅是浮點時,表達不一樣(定浮轉換當然也不同)。
或許對于同一個定點數,有N種浮點的表達方式。
我也有疑問未解:如果浮點交換數據,如果浮點的表達方式不同,不就出問題了么。
但至少我知道,這里可能會出問題,于是在匯編程序中會留意浮點數的表示方式(看它的定浮轉換程序就知道了)。
回復

使用道具 舉報

地板
ID:94031 發(fā)表于 2022-5-9 20:32 | 只看該作者
在c51 keil里,浮點數范圍大得多(38位),四字節(jié)unsigned long只有10位。


回復

使用道具 舉報

5#
ID:883242 發(fā)表于 2022-5-10 23:24 | 只看該作者
IEEE-754的指數部分采用滑動格式,0~255表示指數范圍為-127~128,可以看到最大值比最小值大2倍,這就是樓上某位半瓶子醋把最大能表達的數字搞小了一倍的原因。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表