[問題] 位元運算

作者: caxz ( )   2014-12-27 00:28:25
問兩個我面試時預到的C問題
[問題一]
unsign long v1 = 0x 00001111
unsign long v2 = 0x 00001202
unsign long v
v= v1&(~v2)
v= v|v2
請問這種位元運算有什麼方法教有效率的算法?
我只會笨笨的轉換成二進位作運算再轉回16進位
[問題二]
Rewrite *((*papf)[3])(char *) as typedef _______
完全看不懂再問什麼?
感謝各位賜教啦
作者: deo2000 (800IM)   2014-12-27 00:42:00
你是面試MCU工作? 問題一直接寫hex就可以了
作者: cjcat2266 (CJ Cat)   2014-12-27 08:44:00
問題二編譯會出錯吧,沒有array of functions只有array of pointers to functions所以要寫 Rewrite *(*(*papf)[3])(char *) 才不會出錯^ 原題少了這個*至於題意...我也看不太出來他想問什麼我唯一想得到的可能是問你這個型別是什麼如果是這樣,可以參考 #1KazkSdl 的複雜型別解讀規則
作者: PkmX (阿貓)   2014-12-27 10:39:00
第一題用二進位運算沒啥不好啊 你算得快會比電腦快嗎?
作者: Killercat (殺人貓™)   2014-12-27 17:46:00
這問題問得有點沒sense, 一來16進位一樣可以直接算2進位digit(也就是bit)的,有什麼不能直接算的問題..?如果他出10進位的你才要傷腦筋呢(死

Links booklink

Contact Us: admin [ a t ] ucptt.com