java位运算相关知识总结

java中位运算包括:与运算、或运算、非运算、异或运算、左移运算、右移运算、无符号右移运算

注意:无“无符号左移运算”


1、与运算(&)

  • 都为1则为1,否则为0
  • 任何数 & 0:消除功能
  • 任何数 & 1 :保留功能
  • 例如:
    在这里插入图片描述

2、或运算(|)

  • 有1则为1,否则为0
  • 例如:
    在这里插入图片描述

3、非运算(~)

  • 取反
  • 例如:
    在这里插入图片描述

4、异或运算(^)

  • 相同则为0,不同则为1
  • 例如:
    在这里插入图片描述

5、左移运算(<<)

  • 将二进制数向左移动N位,在低位上补上相应位数的0(N位0)
  • 左移后的数为:原数 * 2 ^ N
  • 例如:
    在这里插入图片描述

6、右移运算(>>)

(1)、正整数右移运算

  • “无符号”右移运算符,将运算符左边的十进制数值转为二进制后运算,二进制数据整体右移指定的位数,采用0扩展机制无论值为正负,都在高位补0;
  • 例如:
    在这里插入图片描述

(2)、负整数右移运算

  • 负整数右移运算不同于正整数
  • 负数求二进制:(以-21为例)
    在这里插入图片描述
  • 负数右移运算(以-21为例)
    在这里插入图片描述

7、无符号右移运算(>>>)

(1)、正整数无符号右移运算

  • 同右移运算

(2)、负整数无符号右移运算

  • 同右移运算,高位补0
发布了15 篇原创文章 · 获赞 6 · 访问量 1064

猜你喜欢

转载自blog.csdn.net/qq_40306266/article/details/103990065
今日推荐