首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

创维笔考题-求高人讲解

2013-03-27 
创维笔试题----------求高人讲解有int a 15, 写代码实现第2位置1, 第三位置0:我最初给他们的答案是 a |

创维笔试题----------求高人讲解
有int a = 15, 写代码实现第2位置1, 第三位置0:


我最初给他们的答案是 a |= 2, a &= 0xfffffffb;

但是他们问我有没有其他答案,于是我冥思苦想,以为他们要更高的效率,所以充分发掘数据的特性和要求。
给出答案是:a -= 2;

没有想到啊,,我得到的回复是我是SB。自然面试失败,一路上我都在想这个最终答案是什么,始终想不出来,求各位高人指教。。。。


创维,笔试题
[解决办法]


int a 
[解决办法]
=(1<<2);

int a &= ~(1<<3);

[解决办法]
引用:
引用:a 
[解决办法]
= 2;
a &amp;amp;= ~4;
TKS mujiok2003 
你的答案有可能是,,但是效率也我没有我的高,,,至少我作为一个嵌入式软件工程师来说,,效率>算法>易读性....


这种题本来就是很傻的,我自己感觉没啥意思。甚至考的都是些小聪明啥的。

这题也可以这么想,比如第二位为1,就为十进制数2,考虑数为15,所以构造其整数倍为30.

也就是a<<1。
[解决办法]
引用:
引用:引用:引用:a 
[解决办法]
= 2;
a &amp;amp;amp;amp;= ~4;
TKS mujiok2003 
你的答案有可能是,,但是效率也我没有我的高,,,至少我作为一个嵌入式软件工程师来说,,效率>算法>易读性....

一般编译后就等价了……

如果你的编译器没有这优化,可以考虑换换了。
   int a = ~4;
00B11789  mov         dword ptr [a],0FFFFFFFBh  

[解决办法]
就没有直接沟通他们希望怎样?
个人一般是先最标准的写法,除非有明显的优化方案。
然后就是,可以沟通,看他们的真正意图。

另外个人的观点是,即使是嵌入式
效率<算法<易读性

热点排行