本文主要是介绍P18 位运算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
位运算是一种对二进制的位进行操作的运算方式
它直接对二进制数的每一位进行逻辑操作,而不考虑整个数的数组。
&与运算 |或运算 ^异运算 [相同位0 不同为1] ~取反
<<按位左移动低位补0,如果数据类型有符号整 5<<3 5*(2^3)
>>按位右移动高位补0,如果符号位上有1不会被移走,这是负数位移 13》》2 13/4向下取整
判断数字奇偶 公式:x&1 如果结果为1说明是奇 0为偶数
获取二进制数的某一位 公式:x>>i&1 结果必然为0或1,表示x的二进制表示中的第i位
假设我们有一个二进制数 x = 101101,我们想获取它的第 3 位,即从右往左数第 3 位,我们可以使用公式 x >> 2 & 1。 首先,右移操作符 >> 将二进制数 x 向右移动 i 位,即 x >> 2 = 001011。然后,位与操作符 & 将移动后的二进制数和 1 进行按位与操作,即 (x >> 2) & 1 = 001011 & 000001 = 000001 = 1。
修改二进制中的某一位为1 公式: x|(1<<i)
快速判断一个数字是否为2的幂次方 公式:x&(x-1) 如果x为2幂次方,则x的二进制中只有一个1,x-1就有很多个连续的1并且和x的1没有交集,二者与运算一定为0,
获取二进制位中最低位 1 lowbit(x)=x&-x 如果x=(010010),则lowbit(x)=(000010)
这篇关于P18 位运算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!