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