欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機C語言程序如何保存運算過程中的小數位

[復制鏈接]
跳轉到指定樓層
樓主
ID:483407 發表于 2019-5-9 15:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
uint A;
uchar B,X;
A=2861;B=967;

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

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

使用道具 舉報

沙發
ID:426861 發表于 2019-5-9 17:32 | 只看該作者
你這個沒有報錯嗎?B的值超出了uchar的范圍,而且結果X的數據類型是uchar,怎么會得到小數呢
回復

使用道具 舉報

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

使用道具 舉報

地板
ID:514901 發表于 2019-5-10 00:48 | 只看該作者
先打好c語言基礎吧,uchar型數據最大只能255,想保留小數點必須用double或float型數據,還有兩個整形數據相除會自動舍去小數
回復

使用道具 舉報

5#
ID:532564 發表于 2019-5-10 16:26 | 只看該作者
/得到的結果應該是商的整數位吧 想要得到預期的結果應該要改變X的數據類型 或者你加一個強制類型轉換 然后想四舍五入的話可以在末位加上0.005再用符號控制取2位小數
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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