Re: [問題] 位元運算

作者: yoco (眠月)   2014-12-28 01:00:44
※ 引述《caxz ( )》之銘言:
: 問兩個我面試時預到的C問題
: [問題一]
: unsign long v1 = 0x 00001111
: unsign long v2 = 0x 00001202
: unsign long v
: v= v1&(~v2)
: v= v|v2
: 請問這種位元運算有什麼方法教有效率的算法?
不是很確定你想要表達的意思,不過 v = v1 &(~v2)
v = v | v2
這兩行是不是可以化簡成一行 v = (v1 & (~v2)) | v2
然後把這個真值表寫出來,可以得到
v1 v2 ∣(v1 & (~v2)) | v2
───┼─────────
0 0 │ 0
0 1 │ 1
1 0 │ 1
1 1 │ 1
看起來等價於 v1 | v2
所以 v = (v1 & (~v2)) | v2 這一行,應該是可以化簡成 v = v1 | v2
: 我只會笨笨的轉換成二進位作運算再轉回16進位
: [問題二]
: Rewrite *((*papf)[3])(char *) as typedef _______
: 完全看不懂再問什麼?
: 感謝各位賜教啦
你確定你題目對嗎?根本不合法,無法作答
作者: bigpigbigpig (To littlepig with love)   2014-12-28 10:50:00
布林代數分配律:A|(B&C) = (A|B) & (A|C)v = (v1&(~v2))|v2 = (v1|v2)&(v2|(~v2)) = v1|v2
作者: tubbysong (song)   2014-12-29 03:36:00
V1 & (~v2)=(~v1)|v2一個funcation空間(自定型別)paaf3是傳入植,char是查call back typeof有
作者: ACMANIAC (請肥宅救救肥宅)   2014-12-29 13:05:00
原來如此,可能面試要考的是這個?!
作者: yoco315 (眠月)   2014-12-29 15:58:00
我化簡錯誤了嗎 XD 對不起
作者: bleed1979 (十三)   2013-01-01 01:05:00
難得原po會承認自己錯誤,給推。
作者: yoco (眠月)   2013-01-01 01:06:00
不好意思,我發現我化簡對了,完全正確 ︿︿
作者: bleed1979 (十三)   2013-01-01 01:07:00
原來是原po口誤。因為化簡對了,給推鼓勵。

Links booklink

Contact Us: admin [ a t ] ucptt.com