首页 > 其他分享 >了解位运算

了解位运算

时间:2022-08-17 11:11:56浏览次数:54  
标签:1111 0000 运算 0011 运算符 了解 十进制 位为

1.与(&)运算符

使用规则:两个二进制操作数对应位同为1 结果位 才为1,其余情况为0;

  3 => 0000 0000 0000 0011

  5 => 0000 0000 0000 0101

  &      0000 0000 0000 0001 转换成十进制也就是1

2.或(|)运算符

使用规则:两个二进制操作数对应位只要有一个为1 结果位 就为1,其余情况为0;

  3 => 0000 0000 0000 0011

  5 => 0000 0000 0000 0101

  |       0000 0000 0000 0111 转换成十进制也就是7

3.取反(~)运算符

使用规则:一个二进制操作数,对应位为0,结果位为1;对应位为1,结果位为0;

  6 => 0000 0000 0000 0110

  ~      1111 1111 1111 1010 转换成十进制也就是-7

4.异或(^)运算符

使用规则:两个二进制操作数对应位相同为0,不同为1;

  3 => 0000 0000 0000 0011

  5 => 0000 0000 0000 0101

  ^      0000 0000 0000 0110 转换成十进制也就是6

5.同或(~)运算符

将参加运算的两个数据,按二进制位进行"同或"运算。相同为1,不同为0;

  3 => 0000 0000 0000 0011

  5 => 0000 0000 0000 0101

          1111 1111 1111 0001 转换成十进制也就是-7

6.左移(<<)运算符

<< : 在一定范围内,每向左移 1 位,就相当于 * 2;

  举例: 3 << 5

  3 => 0000 0000 0000 0011

  << 0000 0000 0110 0000 转换成十进制也就是 96 = 3 * (2^5) (这里的^代表几次方 不是异或)

  面试题:最高效的计算 2 * 8?

  2 << 3 /或8 << 1

7.右移(>>)运算符

>> : 在一定范围内,每向右移 1 位,就相当于 / 2;

  举例: 96 >> 5

  96 => 0000 0000 0110 0000

  <<      0000 0000 0000 0011  转换成十进制也就是 3 = 96  /  (2^5)

标签:1111,0000,运算,0011,运算符,了解,十进制,位为
From: https://www.cnblogs.com/fkbzr1998/p/16594291.html

相关文章