看了两个有趣的小题,有点想法
来源:互联网 发布:临平淘宝培训 编辑:程序博客网 时间:2024/04/29 16:13
题:
1,int average(int x, int y) //返回X,Y 的平均值
{
return (x&y)+((x^y)>>1);
}
2,判断一个整数是不是2的幂boolean power2(int x)
{
return ((x&(x-1))==0)&&(x!=0);
}
想法:
第一个题简单来说就是两个数的和除以2,右移是除以2,位运算是针对每一位来讲,并不进位,x&y只有都是1时为1,在实际运算中就相当于对计算中需进位的数实现了左移,
至于将异或x^y>>1是指把实际运算中没有进位的数进行除以2(就是右移)计算。
第2题比第一题容易理解,2进制数2的幂的形式就是例如00100000,00010000等等,
例如00010000,减一后为00001111,做&运算,自然是==0,依此类推,自然就可以找到为2的幂的数了
- 看了两个有趣的小题,有点想法
- 有趣的想法算法题
- 对以后有点想法了
- 看了张老师的视频--------两个有趣的面向对象题目
- 有点有趣的事情。。
- (小程序)两个有趣的逻辑推理题
- 看了代码的一些想法
- 看了之后,有点感触 。。。
- 看了几天的英文文档,有点感触。。。
- 一封写给自己的信,看了有点心酸
- 有点想法
- 看了一点点云计算后的想法--作业
- Android 一个有趣的小程序!!!看你能有多短!!!
- 几个有趣的小题
- 有趣的前端题目,看了不后悔
- 看代码的想法
- 两个有趣的小软件——小鱼和眼镜
- 新年回家倒计时了,还是有点小激动的
- 匹配分隔字符
- ext3固定分区后可以设置inode的数量最大为多少?
- inode上限的问题,有默认的值吗?怎么查看呢?
- 中国七大顶级黑客X档案
- java中文过滤器以及安全过滤器
- 看了两个有趣的小题,有点想法
- 终于有了一个地方了
- 微软笔试面试题集锦
- jsp自定义标签
- Windows XP系统下安装apache+php+mysql
- Server.Transfer 方法应用
- Flash+PHP+Mysql简单留言本制作实例教程
- mysql数据备份
- PHP程序百行代码快速构建简易聊天室方法