在计算机中,位与的符号是&,运算过程是false&false=false, true&false=false, true&true=true
故任何一个数&1的结果有:
0&1=0
1&1=1
2&1=0
3&1=1



1234&1=0
4321&1=1

可以看出一个奇数(十进制)位与1的结果是1一个偶数(十进制)位与1的结果是0

我们分析一下几个例子,3和987都是十进制数:
3&1在计算过程是:
11
01

01
所以: 3&1=01=1

987&1在计算过程是:
1111011011
0000000001
----------------
0000000001
所以: 987&1=0000000001=1

任何一个数位与1,则1会在前面补上相应个0,然后和那个数进行位与计算,所以结果不是0就是1,因此,我们常常用一个数&1来判断一个数是奇数或偶数。

实例:

1,比如在数据库中,我们获取所有奇数的id,就可以直接:

select id from mytable where id&1;

2,在编程中判断一个数是否为奇数:

int number = 789;
if (number & 1) {print('此数为奇数')
} else {print('此数为偶数')
}

小结

位运算是最靠近计算机底层的,所以计算效率特别高,尤其在数据量超大的情况下,优势很明显。

拓展

与或运算常常用于判断奇偶
移位运算常常用于倍数运算

位与:一个数1的结果相关推荐

  1. 位运算——按位与()、按位或(|)、按位异或(^)

    1.按位与(&) 两个数进行按位与运算时,先将其分别换算成二进制数再进行运算,按位与简单的理解就是同位上的两个数只有同为真时则真,一假则假,1为真,0为假 17将与23进行按位与(&) ...

  2. [BZOJ5312]冒险(势能线段树)

    [BZOJ5312]冒险 维护一个长度为 n 的序列,支持 m 次操作,操作包括区间按位或一个数,区间按位与一个数,以及查询区间最大值. 线段树每个节点上维护区间与.区间或和区间最大值. 如果一次操作 ...

  3. 查找算法系列之复杂算法:哈希查找

    查找算法系列之复杂算法:哈希查找 眼下为止已经介绍了顺序查找.二分查找.分块查找.二叉排序树.见作者之前的文章: http://blog.csdn.net/u010025211/article/det ...

  4. android图片资源加密解密,[原创]cocos2d游戏图片资源解密

    0x00 序 之前遇到过一个有意思的cocos2d游戏.里面的图片资源全都加密了.今天突然想起来.整理一下发出来. 0x01 开干 ak 打开软件 发现是cococs游戏,并且资源文件里面全是mp3, ...

  5. matlab+cummean,matlab常用操作备忘(2)

    北京理工大学  20981  陈罡 (22)专门图形绘制 area     :一个二维图形的填充 box      :控制轴的边界 comet    :二维彗星轨迹图 compass  :绘制从原点出 ...

  6. matlab中bitget函数用法_Matlab函数大全

    目录 1.时间日期函数................................ ................................ ....................... ...

  7. 计算机基础知识---位运算的简介

    Author:baiyucraft BLog: baiyucraft's Home 1.什么是位运算   稍微有点计算机基础的都知道一点,在程序中的所有数在计算机内存中都是以二进制的形式存储的.位运算 ...

  8. Java学习笔记——从零开始(2018.04.22已更新)

    2018.04.08 --Java开发入门-- -计算机基本概念- •什么是计算机 计算机是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算 ...

  9. matlab中集合的表示,Matlab常用命令集合

    1.常用命令-->管理命令和函数 addpath添加目录到MATLAB搜索路径doc在Web浏览器上现实HTML文档help显示Matlab命令和M文件的在线帮助helpwin helpdesk ...

  10. refresh matlab path,Matlab 习惯常用命令收集 转

    (1)管理命令和函数 addpath :添加目录到MATLAB搜索路径 doc :在Web浏览器上现实HTML文档 help :显示Matlab命令和M文件的在线帮助 helpwin helpdesk ...

最新文章

  1. java 文件拷贝文件怎么打开_java如何拷贝文件
  2. 1-Swift中的Struct 和 Class
  3. QGC添加显示多架无人机飞行轨迹
  4. AttributeError系列之:AttributeError: module 'scipy.misc' has no attribute 'imread'报错问题
  5. java 图形处理库_java中处理图片的类库
  6. JAVA自学笔记23
  7. java标签用法详解_介绍一个javaWeb自定义标签的用法详解
  8. 实现div在固定区域跟随鼠标移动点击拖动而产生的变化
  9. 在线工具-程序员的工具箱-在线Cron表达式生成器
  10. Flutter进阶—实现动画效果(八)
  11. Linux中级之ansible概念及hoc命令行调用模式
  12. 解决gitlab内存占用过多的问题
  13. vmware的xp虚拟机更改虚拟硬盘序列号
  14. android 获取软件签名工具,获取Android应用签名的几种方式
  15. 训练指南 UVALive - 5713(最小生成树 + 次小生成树)
  16. (1) 微信公众号注册
  17. 银行手机APP软件做性能测试吗,浅谈银行开放平台应用系统性能测试
  18. 舔狗不会永远舔你的爱答不理和高冷
  19. python dictionary怎么用_python Dictionary字典使用
  20. 软件评测和测试国家现行标准

热门文章

  1. 包引入报错 ImportError: cannot import name ‘best_partition‘ from ‘community‘
  2. ADB操作手机的一个界面小工具(python实现)
  3. linux 服务器的性能考核指标QPS、TPS、RT、Load、PV、UV
  4. BHQ-1 amine,1308657-79-5,BHQ染料通过FRET和静态猝灭的组合工作
  5. 2014 C专科C组第五题 套娃
  6. PPTP配置实例(HiPER ReOS 2008 ×××配置手册)
  7. RabbitMq 有啥用
  8. linux so_linger,linux系统编程之getsockopt/setsockopt 函数
  9. 小米1S MIUI V5刷回V4教程
  10. java 中0x的数值表示方式 本质上是什么意思?