作者查詢 / zerodevil
作者 zerodevil 在 PTT [ C_and_CPP ] 看板的留言(推文), 共154則
限定看板:C_and_CPP
看板排序:
3F推:在你玩過一百場並且好好算過勝率之前應該都只是錯覺01/14 01:21
9F→:我想同樣的題目你用java也寫不出來..01/11 21:39
10F→:和c++跟java的差距無關01/11 21:41
9F推:用uintXX_t超穩 都不用記XD12/18 11:56
4F推:先不管他變快還是變慢, 你的做法a一次至少要跳兩倍11/18 21:55
5F→:所以在a>(答案/2)之後還是只能慢慢加11/18 21:56
6F→:就算會變快也沒快多少11/18 21:57
6F推:十誡之九11/18 20:00
10F推:寫undefined behavior. 教授有意見的話拿c standard戰他11/18 20:58
14F推:g++要開-Wall或-Wsequence-point才會給warning11/18 21:12
15F→:c和c++之間一直都有一些一格洞會不小心踩到啊XD11/18 21:13
19F推:打開sequence point相關的warning.11/18 21:37
19F推:沒為什麼 只是因為古代的os只能跑single task11/07 11:05
6F推:time(0)並不是間隔0秒啊...10/25 11:33
7F推:只是回傳現在時間而已10/25 11:43
5F推:TCHAR跟char不一定會一樣09/25 19:06
6F→:typedef std::basic_string<TCHAR> tstring;09/25 19:06
7F→:這樣不管有沒有define UNICODE都可以吃TCHAR09/25 19:07
11F推:樓上那個是乘法的誤差 不是cast的誤差吧09/17 11:48
16F推:這變因又更多了 剛剛忘了還有10進位轉二進位的誤差09/17 12:01
17F→:你要就直接給一個浮點數的binary表示法, 證明它轉成int09/17 12:01
18F→:會錯. 要不然就證明這些多餘的動作不會影響結果09/17 12:02
19F推:順便一題 你的第一個例子和後兩個的差別在09/17 12:35
20F→:第一個是double->int, 後面是double->float->int09/17 12:35
21F推: 提^09/17 12:38
24F推:測過了 你想表達什麼09/17 12:58
26F推:全部是1801 所以呢09/17 13:01
27F→:你又舉了三個*完全不同*的case 這有又什麼影響09/17 13:01
32F推:不要越扯越遠 你一開始是說浮點數->整數可能會有誤差09/17 13:10
33F→:你是你舉的例子誤差是在double->float的四捨五入 就這樣09/17 13:11
34F→:但^09/17 13:11
37F推:1000.0是double, 1000.0f才是float09/17 13:18
38F→:所以你所有運算會被先cast成double算09/17 13:18
39F→:(int)(x*1000.0)是double直接變成int09/17 13:19
40F→:x*=1000.0; (int)x是做完double乘法後轉float再轉int09/17 13:19
42F推:1800啊= = 有什麼就直說好嗎 這樣很煩09/17 13:21
43F→:啊看錯 1801..09/17 13:21
47F推:x*1000.0在x是float跟double時算出來會有一點誤差09/17 13:24
48F→:在cast成int前就有差了09/17 13:24
51F推:乘法的實作方式不同吧..09/17 13:31
53F推:cpu09/17 13:32
54F推:可以用 cout << (unsigned int&)(x * 1000.0f);09/17 13:33
55F→:看有沒有不一樣09/17 13:33
57F推:啊? 那是同機器上不同code的比較啊...09/17 13:35
1F推:十誡之六09/13 08:06