久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2138|回復: 10
收起左側

C語言程序執行問題 float型變量寫法

[復制鏈接]
ID:709761 發表于 2022-6-18 13:54 | 顯示全部樓層 |閱讀模式
float vcc;
if(vcc==23)
還是寫成
if(vcc==23.0f)
回復

使用道具 舉報

ID:121859 發表于 2022-6-18 15:34 | 顯示全部樓層
不用那么麻煩,編譯器會強制轉換的,所以
if(vcc==23)就可以,實在想看得像浮點一點,這樣也可以
if(vcc==23.0)
回復

使用道具 舉報

ID:883242 發表于 2022-6-18 21:25 | 顯示全部樓層
兩種寫法都是錯誤的。
應該這么寫:
if(fabs(vcc-23.0)<Epsilon)
至于Epsilon定義成多大,你看著辦。
回復

使用道具 舉報

ID:1040441 發表于 2022-7-25 11:46 | 顯示全部樓層
if (fabs(vcc- p) < 0.000001)可以根據差值小于某個精確度值來判斷是否相等。
回復

使用道具 舉報

ID:883242 發表于 2022-7-25 18:00 | 顯示全部樓層
IOT-Mr-Li 發表于 2022-7-25 11:46
if (fabs(vcc- p) < 0.000001)可以根據差值小于某個精確度值來判斷是否相等。

這個“0.000001”取值要根據數據實際范圍來定,IEEE754單精度mantissa是23位(二進制),相當于7位(十進制)精度。那么這個“0.000001”對于0.5~5的數據范圍來說就是個相當不錯的數值,但是對于10來說就完全沒法用了。
回復

使用道具 舉報

ID:1040502 發表于 2022-7-25 18:07 | 顯示全部樓層
都可以的,編譯器會處理好的。
回復

使用道具 舉報

ID:883242 發表于 2022-7-26 21:20 | 顯示全部樓層
260189914 發表于 2022-7-25 18:07
都可以的,編譯器會處理好的。

都不可以,你對浮點數運算一無所知。

浮點數運算總是有誤差的,像整數運算那樣絕對的匹配是不可能的(概率很小,跟中彩票差不多)。
回復

使用道具 舉報

ID:419909 發表于 2022-7-27 10:27 | 顯示全部樓層
如果不是特殊場合。一會我會把浮點數轉成整形再做這種邏輯運算。要對比小數點后面多少位。就將float數乘以10,100,1000.。。。。就可以了。
回復

使用道具 舉報

ID:1040201 發表于 2022-7-30 16:55 | 顯示全部樓層
浮點運算是有誤差的 ,這樣寫 很可能誤判,fabs(),這個函數了解一下
回復

使用道具 舉報

ID:1041246 發表于 2022-8-2 21:04 | 顯示全部樓層
23.0或者23.f都可以
回復

使用道具 舉報

ID:1041246 發表于 2022-8-2 21:05 | 顯示全部樓層
不過最好用fabs,浮點等于會警告
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美在 | 国产精品永久久久久久久www | av网站在线播放 | 亚洲精品久久久久国产 | 亚洲精品www| 午夜免费影视 | h在线 | 国产精品久久二区 | 国产欧美日韩 | 欧美精品三区 | 人人看人人草 | 久久久久国产一区二区三区四区 | 婷婷一级片 | 欧美精品一区二区三区在线 | 国产亚洲日本精品 | 亚洲国产网| 亚洲三区在线观看 | 欧美中文字幕一区二区三区亚洲 | 精品综合久久久 | 欧美精品在线免费观看 | 久久亚洲国产精品 | 免费在线视频a | 国产日韩一区二区三区 | 国产人免费人成免费视频 | 久久精品网| 欧美色综合一区二区三区 | 欧美一区二区三区四区五区无卡码 | 日本一区二区三区免费观看 | 亚洲国产一区二区视频 | 欧美一级毛片免费观看 | 国产成人99 | 国产精品久久久99 | 华人黄网站大全 | 国产精品久久国产精品 | 天天av综合| 亚洲精品久久久久久一区二区 | 亚洲成人三级 | 成人二区 | 久久久99精品免费观看 | 久久精彩| 91久久久久久 |