→ bdvstg: 用clock 單位最小就毫秒 但他沒有超過1 就變0了這樣 08/28 18:32
了解但我查了一下C似乎最小時間單位是毫秒,請問大大有其他方法能到更精準嗎?謝謝
※ 編輯: mark182908 (114.41.4.182), 08/28/2015 19:42:13
→ Feis: 你比較的目的是甚麼? 08/28 19:43
我的目的是為了比較我自己寫的XOR和系統呼叫的XOR在執行速度上差多少,不好意思沒寫清楚
※ 編輯: mark182908 (114.41.4.182), 08/28/2015 19:59:56
→ Feis: 那就跑個一萬次? 08/28 20:03
→ Feis: 雖然我是覺得這樣意義不大 08/28 20:03
→ fatrabitree: 意義不大,而且感覺你的會比較慢 08/28 20:23
→ x000032001: 你的要call 比較慢 不過編譯器會最佳化 08/28 20:44
→ x000032001: 加上你計算量小 測也沒意義 08/28 20:45
了解謝謝各位,那請問XOR怎麼寫才會跟系統一樣快呢?
※ 編輯: mark182908 (114.41.4.182), 08/28/2015 20:53:22
→ bdvstg: 用系統的 (逃 08/28 20:56
哈哈好像滿有道理的喔!
→ x000032001: xor就是一條cpu指令而已 用系統的就好了 08/28 20:59
那我懂了,但我還想請教x大若不使用系統的XOR,那我的方法算好嗎?因為做專題需要教授要我寫出最好的XOR,不好意思問題有點多...
※ 編輯: mark182908 (114.41.4.182), 08/28/2015 21:09:19
※ 編輯: mark182908 (114.41.4.182), 08/28/2015 21:10:16
推 showken: 兩個bit相加取低位元 08/28 21:39
不知道是不是小弟我才疏學淺,但C好像沒有辦法用Binary,若有煩請大大解答謝謝
→ zetab: elapsed是long long怎麼會用%f印... 08/28 21:55
不好意思用錯已改成double宣告
推 chuegou: 感覺教授是希望以數位邏輯概念,用and.or.not去兜 08/28 23:26
謝謝大大醍醐灌頂
→ james732: 要比單一的硬體指令還要快…我有點難想像XD 08/29 01:08
我覺得可能是要試著寫到很接近的意思
→ putumaxally: A[i] ^ B[i] 這不對吧 08/29 02:25
→ putumaxally: 雖然'0'跟'1'在最LSB是差1,不過拿char來xor好嗎 08/29 02:28
已改成int謝謝提醒
→ putumaxally: 而且算出來的也是'\0'跟'\1' 08/29 02:32
→ TobyH4cker: 你寫的不叫做XOR吧 08/29 07:32
→ TobyH4cker: CPU上XOR是bitwise,你用一個8bits來代表0跟1有點… 08/29 07:35
我有在想這個問題,但查了資料後找不到方法宣告成bit...
推 jackylu63: A^B=(~A) & B | A & (~B) 用這個公式照寫就對了 08/29 07:58
→ jackylu63: Compiler 很聰明,寫成這樣子,他會自動幫你轉為A^B 08/29 08:00
推 TobyH4cker: 那這樣跟直接^就沒有差別了吧 08/29 08:01
→ jackylu63: 127次迴圈測不出來差異,就改用0x7fffffff就看得出來了 08/29 08:02
→ jackylu63: 沒錯,因為compiler太聰明了,即使寫function他都會幫 08/29 08:07
→ jackylu63: 你inline進去 08/29 08:07
謝謝j大受益良多!!
→ TobyH4cker: 好吧等等來看看assembly 08/29 08:31
謝謝大家的指導小弟我受教了!!
※ 編輯: mark182908 (114.41.4.182), 08/30/2015 23:25:03