首页 > 其他 > 详细

位运算符

时间:2021-05-08 00:47:31      阅读:19      评论:0      收藏:0      [点我收藏+]

位运算符

按位运算符

按位与(&):有0则0,同1为1

按位或(|):有1则1,同0为0

按位取反(~):1变0;0变1

按位异或(^):相同为0,不同为1

a b 按位与(a&b) 按位或(a|b) 按位取反(~a) 按位异或(a^b)
0 0 0 0 1 0
0 1 0 1 1 1
1 0 0 1 0 1
1 1 1 1 0 0

技术分享图片

移位运算符

  1. 左移位(<<)

    (1)操作:将数据转为二进制(int 型32位)的数,将数左移,高位溢出舍弃,低位空位补0

    (2)总结公式:左移几次就是该数据乘以2的几次方

    (3)应用:可以完成2的次幂运算

  2. 右移位(>>)

    (1)操作:将数据转为二进制(16位)的数,将数左移,低位溢出舍弃,高位空位补位
    最高位补位:对于高位出现的空位,原来最高位是什么就用什么补,保证符号位不变
    最高位是1用1补,最高位是0用0补

    (2)总结公式:右移几次就是该数据除以2的几次方

  3. 无符号右移位(>>>)

    操作:与右移位相同
    不同点:最高位补位时,无论原最高位是什么,都补0

注意

  1. ? 1:逻辑真 0:逻辑假
  2. byte与short是低精度的整型,不适用于做无符号右移,会产生溢出

位运算符

原文:https://www.cnblogs.com/ekig/p/14731452.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!