整理位运算

参考链接(总结的非常好,各种奇淫技巧):https://blog.csdn.net/MoreWindows/article/details/7354571

 

1、优先级

 “<<” 和 ">>" 的优先级低于 “+” 和 “-”。    “~” 按位求反   “^”按位异或    “|”按位求或     “&”按位求与

 

2、基本概念

注意以下几点:

1.  在这6种操作符,只有~取反是单目操作符,其它5种都是双目操作符。

2.  位操作只能用于整形数据,对float和double类型进行位操作会被编译器报错。

3.  15=0000 1111(二进制),右移二位,最高位由符号位填充将得到0000 0011即3。

       -15 = 1111 0001(二进制),右移二位,最高位由符号位填充将得到1111 1100即-4。

 

https://blog.csdn.net/studyvcmfc/article/details/7606292

https://jingyan.baidu.com/article/29697b9106eb52ab21de3c7a.html

 

 

————————————————————————————————————————————————————

看到《c++ primer》里面的内容了,再来补充一下    2018.11.20

 

1、移位运算符

 

运算符右侧的运算对象一定不能为负,而且值必须严格小于结果的位数,否则会产生未定义的行为。

 

左移运算符(<<)在右侧插入值为0的二进制位。

右移运算符(>>)的行为依赖于其左侧运算符对象的类型:

如果该运算对象是无符号类型,则在左侧插入值为0的二进制位;

如果该运算对象是带符号类型,在左侧插入符号位的副本或值为 0 的二进制,如何选择,要视具体环境而定。

 

未完待续——————————————————————————————————————————————

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值