找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)C語言程序如何保存運(yùn)算過程中的小數(shù)位

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:483407 發(fā)表于 2019-5-9 15:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
uint A;
uchar B,X;
A=2861;B=967;

X=A/B;  //結(jié)果為2.959,現(xiàn)在我要保存并顯示這個(gè)結(jié)果為2.96,用下面的處理方法同,為什么不可以?

A=2861;
B=967;
X=(A/B*1000+5)/10;
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:426861 發(fā)表于 2019-5-9 17:32 | 只看該作者
你這個(gè)沒有報(bào)錯(cuò)嗎?B的值超出了uchar的范圍,而且結(jié)果X的數(shù)據(jù)類型是uchar,怎么會(huì)得到小數(shù)呢
回復(fù)

使用道具 舉報(bào)

板凳
ID:198530 發(fā)表于 2019-5-9 17:53 | 只看該作者
X應(yīng)為浮點(diǎn)類型,float X=((float)A/B*1000+5)/10
回復(fù)

使用道具 舉報(bào)

地板
ID:514901 發(fā)表于 2019-5-10 00:48 | 只看該作者
先打好c語言基礎(chǔ)吧,uchar型數(shù)據(jù)最大只能255,想保留小數(shù)點(diǎn)必須用double或float型數(shù)據(jù),還有兩個(gè)整形數(shù)據(jù)相除會(huì)自動(dòng)舍去小數(shù)
回復(fù)

使用道具 舉報(bào)

5#
ID:532564 發(fā)表于 2019-5-10 16:26 | 只看該作者
/得到的結(jié)果應(yīng)該是商的整數(shù)位吧 想要得到預(yù)期的結(jié)果應(yīng)該要改變X的數(shù)據(jù)類型 或者你加一個(gè)強(qiáng)制類型轉(zhuǎn)換 然后想四舍五入的話可以在末位加上0.005再用符號(hào)控制取2位小數(shù)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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