1.

1的个数

int NumberOf1(intn){int count = 0;while(n)

{++count;

n=(n-1)&n;

}

}

同样一个问题,位运算可以提高程序的运行效率。

下面讲一下关于奇偶性的判断。

常规方法

public static boolean isOdd(int i){

return i % 2 != 0;

}

位运算方法

public static boolean isOdd(int i){

return (i & 1) != 0;

}

public boolean isOdd(inta){if((a&1) != 1){ //是奇数

return true;

}return false;

}

说明:

我们知道计算机中的数字通常用二进制补码表示。

如果为正数,补码与原码相同,直接看最后一位(因为数字1的前面N位均为0,跟它做与运算,前面肯定为0),奇数为1,偶数为0,与1相与,结果不变。

如果为负数,补码转原码:保持符号位不动,其它各位取反+1,即为负数的绝对值原码全部取反+1。还是看最后1位,先取反,再+1,结果还是和原来相同。进行与运算时还是原来的末位,所以用跟1做与运算还是保持原来的结果。

---------------------

作者:taizhoufox

python isodd()判断奇偶_位运算(1的个数;2.判断奇偶)相关推荐

  1. c语言用位运算将一个数清零,C语言学习笔记_位运算

    C语言学习笔记_位运算 知识点记录 基本位运算 按位与:全1为1,见0为0:与1相与无变化,与0相与变为0:可用于特定位清零 按位或:见1为1,全0为0:与1相或变为1,与0相或无变化:可用于特定位置 ...

  2. 位运算求两个数的平均值

    一直不理解位运算求两个数的平均值.参考网上资料后终于明白. 如下: 求两个数的平均值的算法:Avg = (ValueA & ValueB) + (ValueA ^ ValueB) >&g ...

  3. 怎么得到一个数的每个位c语言,怎么用位运算得到一个数是几位的

    也就是最高位的1在第几位,例如4就是0x100,3位,3就是0x11,2位,找了一圈没找到这个的算法啊 解决方案 15 #include _BitScanReverse _BitScanReverse ...

  4. 位运算判断奇偶数_位运算判断奇偶数

    第一条:利用位运算判断一个整数是奇数还是偶数. 经常用到一个for循环,当索引i是奇数时执行语句A,偶数时执行语句B.判断i是奇数还是偶数,可用如下方法: if(i &1){ //i是奇数情况 ...

  5. python写整数逆位运算_位运算

    a = 60 # 0011 1100 b = 13 # 0000 1101 运算符 描述 示例 & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 a& ...

  6. python 十进制与二进制以及位运算

    From: http://blog.sina.com.cn/s/blog_681de30a01013uiw.html 在python2.6以上的版本中自带了将十进制转化为二进制的函数bin(). 看一 ...

  7. 算法题_位运算_9_出现一次的数字和出现k次的数字

    位运算 出现一次的数字和出现k次的数字 题目:出现k次和出现1次 描述:数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现1次的数. 第一次看到这道题,思考了一会,觉得可以使用Map集合来 ...

  8. 算法题_位运算_4_是不是2的整数次方

    位运算 是不是2的整数次方 如果已经吃透了上一道题<二进制数中"1"比特的个数>,只要稍加思考,就会发现这道题与上一道的考点是一样的,都是判断"1" ...

  9. excel二进制移位运算_位运算-秦斌的博客-51CTO博客

    1.位运算介绍 程序中的所有数在计算机内存中都是以二进制的形式储存的.位运算说穿了,就是直接对整数在内存中的二进制位进行操作. 2.位运算符号 Java中的运算符号: & : 按位与 |:按位 ...

最新文章

  1. RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)
  2. html页面配置xml文件路径,web.xml与index.html
  3. MySQL安装后第一次修改密码
  4. lcx转发3389数据
  5. linux eclipse 关联源码,获取Hadoop的源码和通过Eclipse关联Hadoop的源码
  6. 用一个Sql语句查询出表中的一个字段的数据类型
  7. 移动应用开发——实验四
  8. windows游戏编程_2020年适合程序员编程的笔记本电脑推荐
  9. 智能手机的超性能语音识别技术简介
  10. 系统学习机器学习之SVM(二)
  11. 群晖nas存储系统原理_群晖NAS入门教程第四节:群晖存储空间管理员功能和磁盘阵列类型的简介...
  12. 秒杀项目(1)项目环境搭建
  13. python爬虫利用requests和BeautifulSoup爬取美女图片
  14. 计算机桌面出现家庭组,win7系统桌面突然多出一个家庭组图标的解决方法
  15. Excel单元格引用方式
  16. 解决每次弹出“是否允许XX录制/投射您的屏幕”(享做笔记、王者荣耀等)手把手教程
  17. 关于黑苹果卡在[IGPU] Scheduler Throttle Cap=100ms的解决办法
  18. PHP中的opcode
  19. 问题:编译策略之代码逻辑顺序不正确(Optimization Level)
  20. 易语言json解析 没有数组的成员数

热门文章

  1. 正则表达式中?=和?:和?!的理解
  2. SpringBoot-web开发(二): 页面和图标定制(源码分析)
  3. MindSpore 高阶优化器
  4. 深度学习调参体验(一)
  5. 2021年大数据ELK(九):使用VSCode测试分词器
  6. Python反爬研究总结
  7. MySql数据库Update批量更新与批量更新多条记录的不同值实现方法
  8. flutter依赖某些插件,点击运行会出现错误
  9. 当统计信息不准确时,CBO可能产生错误的执行计划,并在10053 trace中找到CBO出错的位置示例...
  10. sourcetree管理git