位与:一个数&1的结果

在计算机中,位与的符号是&,运算过程是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('此数为偶数')
}

小结

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

拓展

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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方文艺复兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值