找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2284|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

加這個(float)是什么意思,把uint16類型轉(zhuǎn)換成float類型嗎

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:978416 發(fā)表于 2023-5-10 15:35 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
uint16_t conv_value[6];

voltage[0]=(float)conv_value[0]*3.3/4096;


加這個(float)是什么意思,把uint16類型轉(zhuǎn)換成float類型嗎
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:821429 發(fā)表于 2023-5-10 18:11 | 只看該作者
(float)把conv_value[0]這個變量強(qiáng)制轉(zhuǎn)化為float后與后面的3.3等運(yùn)算(由于乘以3.3,已存在float,沒有這個(float)也會這樣做)。但是,右側(cè)結(jié)果賦值給voltage[0]時(shí),會再次轉(zhuǎn)回voltage[0]自己的類型,本程序段看不到,需要看其定義
回復(fù)

使用道具 舉報(bào)

板凳
ID:883242 發(fā)表于 2023-5-10 18:31 | 只看該作者
對是對,但如果是8位機(jī),float操作占用的系統(tǒng)資源太多了,要盡量避免。
回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2023-5-11 15:18 | 只看該作者
3.3/4096=0.0008056640625。
在內(nèi)存中如果存儲表示呢?用幾個字節(jié)存儲,每個字節(jié)中寫入什么?
這是用FLOAT的原因。
回復(fù)

使用道具 舉報(bào)

5#
ID:883242 發(fā)表于 2023-5-11 16:21 | 只看該作者
3.3/4096完全可以寫成80566ul,再做long型運(yùn)算,反正都是顯示給人看的,小數(shù)點(diǎn)打在哪里都太簡單了,而long型運(yùn)算占用的時(shí)間和消耗的flash空間要比float少太多太多了。
回復(fù)

使用道具 舉報(bào)

6#
ID:330059 發(fā)表于 2023-5-11 20:27 | 只看該作者
這個是C語言的強(qiáng)制類型轉(zhuǎn)換方法:強(qiáng)制類型轉(zhuǎn)換是通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。其一般形式為: (類型說明符) (表達(dá)式) 其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。
回復(fù)

使用道具 舉報(bào)

7#
ID:1034262 發(fā)表于 2023-5-12 11:06 | 只看該作者
強(qiáng)制類型轉(zhuǎn)換
回復(fù)

使用道具 舉報(bào)

8#
ID:1074206 發(fā)表于 2023-5-16 21:51 | 只看該作者
強(qiáng)轉(zhuǎn)變量類型,防止精度丟失
回復(fù)

使用道具 舉報(bào)

9#
ID:77589 發(fā)表于 2023-5-17 15:25 | 只看該作者
就是你說的那個意思!
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表