[问题] 位元运算

楼主: 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