作者查詢 / iamlouis
作者 iamlouis 在 PTT [ C_and_CPP ] 看板的留言(推文), 共38則
限定看板:C_and_CPP
看板排序:
32F推:推, 好文共賞.09/06 23:40
6F→:當systimer==4999的時候,你的while loop會瘋狂執行很多次08/29 20:41
7F→:解法是在4999的下一行寫: while(systimer==4999);08/29 20:43
8F→:比較好的解法是把P1mem的邏輯,從while(1)移到T0_int()的08/29 20:45
9F→:if (systimer==5000) 裡面, 反正它剛好一秒會被執行一次.08/29 20:45
9F推:重取 mod 有個問題: 不確定性. 可能要重取多次才能得到03/09 05:51
10F→:極端例就是 x = RAND_MAX/2+2 時(16385), 每次都有一半的03/09 05:53
11F→:的機率要重取一次, 執行時間的不確定性比較大. :-)03/09 05:55
22F推:推一個, 很有趣, 筆記ing... 而且 in place. :-)02/15 23:13
2F推:我以為 nested loop 就是要算 4 個成績跟 10 個同學. :-)02/11 01:10
1F推:漂亮. 另外, min() 是為了 100 分的 case 會變成 sc[5].02/10 23:16
2F推:小修正:i++要放後面. {}用分號就可以. grade必須是signed02/10 23:20
2F→:#define min(x,y) (((x+y)-(x-y)/abs(x-y)*(x-y))/2)02/11 00:50
3F→:#define max(x,y) (((x+y)+(x-y)*(x-y)/(x-y))/2)02/11 00:51
4F→:利用 x-y 的正負號做花樣, min/max 就不用 if 來實作了.02/11 00:53
5F→:其實速度沒有比較快,程式可讀性也很差,只是為了硬凹啦~XD02/11 00:54
9F→:#define abs(x) (x^(x>>31)-(x>>31)) 嘿嘿嘿~ :-)02/11 21:57
10F→:如果 x<0, 就是把 x XOR 0xff... 再減掉 0xff...02/11 21:58
11F→:也就是 NOT x 後再減 -1 (也就是加1), 也就是二的補數.02/11 21:59
12F→:如果 x>=0,則 x^0-0, 也就是 x 本身 (我跟gcc偷學的) XD02/11 22:00
13F推:推l大01/02 11:33
4F推:報告 t 大, 典型教科書是使用圓圈代表 state, 例如:12/30 07:02
5F→:http://tinyurl.com/2ud8onb 不過啟始狀態跟結束狀態的12/30 07:03
6F→:圖示都略有不同. 如果真的要"標準"的話, UML 有定義.12/30 07:04
7F→:可以用 Google Images 找 UML state diagram 就有.12/30 07:05
8F→:另外, 誠如k大所言, 典型的FSM實作方法是使用while(TRUE)12/30 07:08
9F→:加 switch case 做成, 簡化說明版: codepad.org/HrndF6xQ12/30 07:09
10F→:FSM裡的每個圓圈跟箭頭都可以很漂亮的套用進來 :-)12/30 07:11
3F→:這樣計算有點粗糙, 還要考慮 cache hit/miss penalty,12/29 23:20
4F→:以及 interrupt/exception handler (TLB miss) 被執行到.12/29 23:20
5F→:還有複雜的 pipeline, 所以不容易算到很準.12/29 23:25
6F→:如果是在 ARM 或 MIPS 上, 可以將環境單純到所有的存取12/29 23:26
7F→:都只在 I/D scratch RAM, 將 interrupt 關掉, 在 kernel12/29 23:27
8F→:mode 當中執行, 沒有 swap 發生, 可以透過 CPU 的12/29 23:28
9F→:performance counter 得到很精準的時間 (clock cycles).12/29 23:28