在c语言中除法运算符,c – 不需要的除法运算符行为,我该怎么办?
問題描述
在我的流體模擬過程中,物理時間正在進行為0,0.001,0.002,…,4.598,4.599,4.6,4.601,4.602 ……現在我想選擇時間= 0.1,0.2,4.5,……從這個時間序列再做進一步的分析.所以我編寫了以下代碼來判斷fractpart是否達到零.
但我很驚訝我發現以下兩種分割方法得到兩種不同的結果,我該怎么辦?
double param,fractpart,intpart;
double org = 4.6;
double ddd = 0.1;
// This is the correct one I need. I got intpart=46 and fractpart=0
// param = org*(1/ddd);
// This is not what I want. I got intpart=45 and fractpart=1
param = org/ddd;
fractpart = modf(param,&intpart);
Info<< "\n\nfractpart\t=\t"
<< fractpart
<< "\nAnd intpart\t=\t"
<< intpart
<< endl;
為什么會這樣發生?
如果你們容忍我一點點,我可以大聲喊道:“C委員會可以對此做點什么嗎?因為這很令人困惑.”
總結
如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。
本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。
小編個人微信號 jb51ccc
喜歡與人分享編程技術與工作經驗,歡迎加入編程之家官方交流群!
總結
以上是生活随笔為你收集整理的在c语言中除法运算符,c – 不需要的除法运算符行为,我该怎么办?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科学出版社c语言实验答案,程序设计基础c
- 下一篇: 昊锐2.0T待速从800转增加到1000