码迷,mamicode.com
首页 > 其他好文 > 详细

为操作符

时间:2018-06-29 19:20:28      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:左移   取反   位操作   操作符   进制   原码   补码   xor   bsp   

位操作有:按位与、按位或、按位异或、按位取反、左移、带符号右移和无符号右移。

1、按位与(&或者and):

  2&3 = 0000 0010 & 0000 0011 = 0000 0010 = 2

2、按位或(|或者or):

  2|3 = 0000 0010 | 0000 0011 = 0000 0011 = 3

3、按位异或(^或者xor):

  2^3 = 0000 0010 ^ 0000 0011 = 0000 0001 = 1

4、按位取反(~或者not):

  ~4 : 二进制原码为:0000 0100 

      原码取反为: 1111 1011

  这时要把1111 1011 转化为补码形式:

  1111 1011 ---->  1000 0100 ---->    1000 0101

  所以得出的结果为-5;

5、左移(<<或者shl):

  4 << 1 = 0000 0100 << 1 = 0000 1000 = 8

  相当于乘以2

6、右移(>>或者shr):

  4 >> 1 = 0000 0100 >> 1 = 0000 0010 = 2、

  相当于除以2

注:

  1、右移分带符号和不带符号

  2、通常认为位操作比运算要快,左移比*2快,右移比/2快。

为操作符

标签:左移   取反   位操作   操作符   进制   原码   补码   xor   bsp   

原文地址:https://www.cnblogs.com/coolYuan/p/9244816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!