美文网首页
按位运算

按位运算

作者: 环球探测 | 来源:发表于2016-03-19 15:26 被阅读19次
  1. 与运算&
    对于一个正整数x来说,对x进行 x&(x-1)操作其实就是将x的二进制表示法中最后一个1换成0,以下代码可以对x的二进制表示的1的个数进行统计
    Java
    public static int num1(int x) {
    int count = 0;
    while (x > 0) {
    count++;
    x = x & (x - 1);
    }
    return count;
    }
相似地,x|(x+1)操作是将x的二进制表示法中的最后一个0换成1.

2.异或运算 ^
相同得0 ,相异得1;
对任意整数a,b, c有 :
0^a = a;  a^a =0;  a^b = b^a;   a^b^c = a^(b^c)
- 异或运算交换两个值:
```Java```
a = a^b ;
b = a^b;     // b =a^b^b = a
a = a^b;     // a = a^b^a = b
  • 异或运算解single num 问题 (leetcode 136):Given an array of integers, every element appears twice except for one. Find that single one.
    Java
    public int singleNumber(int[] nums) {
    int a = nums[0];
    for(int i = 1; i< nums.length; i++){
    a = a^nums[i];
    }
    return a;
    }

相关文章

  • C语言:按位运算

    C语言:按位运算 C有这些按位运算的运算符& 按位的与| 按位的或~ 按位取反^ 按位的异或<< ...

  • 高级运算符

    1:位运算 1.1:按位取反运算符(~) 例子 1.2:按位与运算符 例子 1.3:按位或运算符 例子 1.4:按...

  • C、数据结构知识点

    1. 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算...

  • 高级运算符(Advanced Operators)

    目录 [toc] 位运算符 1. 按位取反运算符~ 2. 按位与运算符& 3. 按位或运算符| 4. 按位异或运算...

  • 位运算

    运算符含义&按位与|按位或^按位异或~取反<<左位移>>右位移 按位与运算符(&)按位与运算将两个运算分量的对应位...

  • 按位运算

    菜鸟一枚,请大家不要见怪。 (1)按位与(&)运算: 参与运算的两个数据按二进制位进行与运算。 运算规则:0...

  • 按位运算

    与运算&对于一个正整数x来说,对x进行 x&(x-1)操作其实就是将x的二进制表示法中最后一个1换成0,以下代码可...

  • 按位运算

    按位与& 如果(x)i == 1 并且(y)i == 1,那么(x & y)i = 1,否则(x & y)i = ...

  • C高阶1:二进制操作

    1. 位运算 按位运算No.操作符功能1&按位与2|按位或3~按位取反4^按位异或 运算规则pqp & qp | ...

  • 基础运算符

    [使1. 按位与运算符(&](#1. 按位与运算符(&)[按位或运算符 | ](#2. 按位或运算符(|)) 1....

网友评论

      本文标题:按位运算

      本文链接:https://www.haomeiwen.com/subject/qkphlttx.html