作者CCSam (GMT)
看板EE_DSnP
標題[問題] 浮點數錯誤?
時間Thu Oct 29 16:21:47 2009
//自done了,感謝各位@@
不好意思來問個蠢問題...
我現在可以直接make, 功能初步測試也都正常
但是我make test出來的 testMC
執行的時候卻會出現"浮點數錯誤" 然後就crash了。
output如下
/hw3$ ./testMC 9 9 9
Setting modulus = 16...
num[0] = 9
num[1] = 7
num[2] = 0
num[3] = 2
num[4] = 15
num[5] = 9
num[6] = 9
num[7] = 7
num[8] = 0
num[9] = 0
浮點數出錯
可是我們這次並沒有用到任何浮點數啊?
於是我把test.cpp開出來, 稍微用點cout大法
發現是在第一個 print()函式中crash的.
(這段code是直接寫在test.cpp裡的)
void print()
{
for (size_t i = 0; i < NUM_MOD; ++i)
cout << "num[" << i << "] = " << num[i] << endl;
cout << endl;
}
先謝謝你把這篇文章看完XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.235
※ 編輯: CCSam 來自: 220.136.86.186 (10/29 20:09)
※ 編輯: CCSam 來自: 220.136.86.186 (10/29 20:22)
1F:推 Neilhahaha:應該不是test.cpp的問題 可能是calcModNum寫的時候有 10/29 20:26
2F:→ Neilhahaha:問題吧 10/29 20:27
3F:→ Neilhahaha:因為我直接用test.cpp是沒問題啦.. 10/29 20:27
※ 編輯: CCSam 來自: 220.136.86.186 (10/29 21:44)
4F:→ CCSam:我在把Operator overloading裡的 a%=b這種 全改成 a=a%b之後 10/29 21:48
5F:→ CCSam:結果就對了,正在Figure out 原因中。。 10/29 21:49
※ 編輯: CCSam 來自: 220.136.86.186 (10/29 21:51)
6F:推 ric2k1:return reference to local variable? 10/29 22:22
7F:推 a3785lexx:原PO有用到abs()嗎? abs()好像會跟浮點扯上邊的感覺.. 10/31 17:09
8F:→ a3785lexx:我要用的時候它跟我說ambiguous所以我就沒用了orz... 10/31 17:10
9F:→ a3785lexx:啊沒事...我想錯了...話說我一直沒有很懂負數的MOD 10/31 17:16
10F:→ a3785lexx:是怎麼回事orz... 10/31 17:16
11F:推 anfranion:負數的mod就是不斷加mod n的n到最靠近0的那個負數~ 11/05 00:29