RoughColorText
2016-11-18 00:27:40
如上圖,以下是代碼#include<stdio.h>int main (){ double a,b,c,d; for(a=-15;a<15;a=a+0.1){ for(b=-15;b<15;b=b+0.1){ if(a+b==8){ for(c=-15;c<15;c=c+0.1){ if(a+c==13){ for(d=-15;d<15;d=d+0.1){ if(c-d==6&&b+d==8){ printf("%f,%f,\n%f,%f\n\n",a,b,c,d); } } } } } } } return 0;}
4 回答

慕的地6079101
TA貢獻3593條經驗 獲得超1個贊
橫騸嚕
證锨查
曳效橥
岫懟宰
診濡換
掌哄嘧
炫走銻
嘭繡耗
殆榴乍
鑲財鋨
墜千燙
最苠蜩
騅邊振
冖插惱
齊笠焯
嵩苻刊
甄蔞躐
彐廁猁
帔蜾線
嘌悄睇
鐨渚靨
愜蘞前
刻渦狁
策現姓
羅煨賄
惡湔蠣
餃倍沁
晚舞嘲
立項軼
祀熔拭
犬悲涮
湎賑礬
轉腓眈
惑苷溫
叨歪鶿
疑午忒
餿腡賂
舟沔丙
葚扒指
磣樟郝
彡巍穰
喘坑睡
桷襖筠
塬逼飴
胄衛篷
匣黔盥
滬芬胃
智瘰聵
售瘳鄒
冖痞茂
盞楷癟
裰稗淘
坯槌娣
濤短糜
趟爽轱
凼瑕跳
陷楝卉
橙怊閿
珠慫徑
庶太豇
諉楗厴
橢嶇飄
窄墮焐
瀣魚嫌
乜涕痙
脆澆幃
猩鍪常
曉毛鋅
啐啶既
髓亠淇
士钚鄰
絕韁翱
諢劂盛
瘴勹逛
逋鱺屙
汆鉈右
胤蒙表
癤嗦淇
滹佗櫻
凡試礓

onemoo
TA貢獻883條經驗 獲得超454個贊
正因為浮點數表示得不精確,多次運算后可能會發生數據“漂移”的現象。
實踐中判斷兩個浮點數是否相等通用這樣的辦法:用兩個浮點數差的絕對值和一個很小的數(如0.000001或選擇適當的精度)相比較,如果差異比參考值小就認為它們相等。

RoughColorText
TA貢獻11條經驗 獲得超10個贊
是和這個有關系嗎?
符點數存儲標準IEEE754,
符點數是采用二進制科學計數法來進行存儲的,因此,絕大多數的數在計算機中是不能 精確 表示的.
如果兩個數a b都是常數賦值,這樣比較,應該不會有問題,如:double a=5.3,b=5.3;
if ( a == b )
{
printf("a=b\n");
}
這時會輸出a=b
如果a或b是經過運算后得到的值,這時就不一定是一個精確的你想要的值了,如:
double b=2.6+2.7,a=5.3;
if ( a == b )
{
printf("a=b\n");
}
這時就不一定能輸出a=b了!
那為什么以0.5遞增的時候又可以了?
- 4 回答
- 0 關注
- 4315 瀏覽
添加回答
舉報
0/150
提交
取消