美文网首页
位运算符及其使用

位运算符及其使用

作者: erki_stwee | 来源:发表于2019-11-05 23:50 被阅读0次

参考文献http://blog.csdn.net/baitxaps/article/details/50160125

位运算符

位运算关系图

最高位是符号位;0表示正数;1表示负数

原码、反码、补码

· 正数的原码、反码、补码相同
123的原码:00000000 00000000 00000000 01111011
123的反码:00000000 00000000 00000000 01111011
123的补码:00000000 00000000 00000000 01111011

· 负数的原码是按照绝对值转换后,最高位补1;反码是除符号位外,所有位取反;补码为反码加1;
-123的原码:10000000 00000000 00000000 01111011
-123的反码:11111111 11111111 11111111 10000100
-123的补码:11111111 11111111 11111111 10000101

平时进行的运算实则是反码之间的运算。

实际使用

① 判断奇偶性
a & 1 == 0 ,a为偶数;a & 1 == 1,a为基数;
②求平均数
(a & b) + ((a ^ b) >> 1)
③x,y交换数据
x ^= y ; y^=x ; x^=y
④求绝对值
(a ^ (a >> 31) - (a >> 31))
⑤判断一个数是否是2的冥
a & (a - 1) == 0
⑥相反数
(~x + 1)
⑦作为标志位
eg:
red = 0001
blue = 0010
yellow = 0100

0111:代表红蓝黄
0101:代表红黄

相关文章

  • 位运算符及其使用

    参考文献http://blog.csdn.net/baitxaps/article/details/5016012...

  • Python基础之位运算符(含原码反码补码的通俗解释)

    目录 1 二进制 2 原码、反码、补码 3 位运算符 4 位运算符使用技巧 上回学习运算符时,漏了位运算符,因为位...

  • 运算符

    全部运算符、分隔符,以及其他符号。 运算符结合律全部从左到右。 标志位操作。 不支持运算符重载。尤其需要注意,"+...

  • 1.位运算符-Bit

    前言:位运算符的使用方式有两种。1)基础使用方式;2)c++新增bitset类1.基础使用1)位运算符 备注:1....

  • 二进制位运算实战(2)-异或,按位或,按位与,取反

    从本文你将了解到什么?异或运算符的使用或运算符的使用与运算符搭配取反运算符的使用 二进制位运算实战(1)-开发一个...

  • 整数 a 加 b (lintcode:a-b-problem)

    给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。a 和 b 都是32位整数。可以使用位运算符。 ...

  • iOS位运算

    位运算符使用的运算符包括下面: 1、<< 1<<1 指的是 0001 << 1 左移1位 0010 值修改为2 2...

  • golang的位运算

    常见的golang位运算符: &, |, << 和 >> 都是常见的运算符,主要说明 ^, &^的使用进行说明 ^...

  • 多表查询语句

    连接查询 当运算符为=时,成为等值连接,使用其他运算符称为非等值链接 查询每个学生及其选修课程的情况 查询选修2号...

  • 强大的位运算符

    位取反运算符 位取反运算符(~)是对所有位的数字进行取反操作位取反运算符.png 位与运算符 位与运算符(&)可以...

网友评论

      本文标题:位运算符及其使用

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