黑马程序员-c语言学习位运算总结
来源:互联网 发布:淘宝整点抢购在哪里 编辑:程序博客网 时间:2024/04/27 21:35
------Java培训、Android培训、iOS培训、.Net培训 期待与您交流------
今晚学到了位运算,做一下总结
1.按位与 & :
只有对应的两个二进位均为1时,结果位才为1,否则为0。(换算成二进制 同1位1,有0位0)
举例: 9&2 先转换成二进制为1001&0010=0000,9&2==0利用位与&运算可以判断变量的奇偶性
因为二进制末位是1得为奇数,为0的为偶数
a & 1==1//为奇数
a& 0==0//为偶数
2.按或与 | :
只要对应的二个二进位有一个为1时,结果位就为1,否则为0。(换算成二进制 同0位0,有1位1)
举例:9|2 >1001|0010=1011,即就是9|2==113.按位异或 ^ :
当对应的二进位相异(不相同)时,结果为1,否则为0。
要点:(1)相同数值进行异或,结果肯定为0,1^1=0
(2)交换 9^5^7 ==9^7^5
(3)任何数值跟0进行异或,结构还是原来的数值.8^0==0
根据以上条件可以得出下面结论
a^c^b == a^a^c ==0^c ==c
根据按位异或^可以用来是交换两个变量的数值
int a =10;
int b=11;
a=a^b;
b=a^b;
a=a^b;
输出结果:a=11,b=10
4.~ 取反:
对整数a的各二进位进行取反,符号位也取反(0变1,1变0)
没什么说的,就是各种取反就行5.<< 左移
(1)把整数a的各二进位全部左移n位,高位丢弃,低位补0。左移n位其实就是乘以2的n次方
(2)由于左移是丢弃最高位,0补最低位,所以符号位也会被丢弃,左移出来的结果值可能会改变正负性
规律:9<<1 -> 9 * 2的1次方 == 18
9<<2 -> 9 * 2的2次方 ==36
……….
9<<n -> 9 * 2的n次方
6.>> 右移
(1)把整数a的各二进位全部右移n位,保持符号位不变。右移n位其实就是除以2的n次方
(2)为正数时, 符号位为0,最高位补0
(3)为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定
规律:8>>1 -> 8/2 == 4
8>>2 -> 8/2的2次方 == 2
……...
8>>n -> 8/2的n次方
0 0
- 黑马程序员-c语言学习位运算总结
- 黑马程序员 c语言----进制 位运算学习
- 黑马程序员----C 语言学习笔记之位运算符
- 黑马程序员-C语言位运算
- 【黑马程序员】---C语言运算符总结
- 黑马程序员--C语言的位运算符总结
- 黑马程序员-C语言学习日记二之位运算符小结
- 黑马程序员——IOS基础---C语言学习之内存分析与位运算
- 黑马程序员_3 C语言基础-函数-进制-位运算
- 黑马程序员 C语言 - 05 位运算、char类型
- 黑马程序员--C语言入门疑难点---位运算
- 黑马程序员IOS-C语言-进制、位运算、char
- 黑马程序员-对C语言各种运算符的总结
- 黑马程序员-c语言基础总结之运算符
- 【C语言总结】位运算
- C语言位运算总结
- 黑马程序员——C语言学习笔记03 变量在内存中存储的细节、位运算
- 黑马程序员 java中的位运算总结
- 在抉择丽人鱼式婚纱礼服专家提醒
- 露背蕾丝婚纱礼服夏季婚礼
- SpringMVC入门学习笔记
- Drupal 初始配置 与 升级
- 如何抉择适合的尺码婚纱礼服
- 黑马程序员-c语言学习位运算总结
- apache 简单应用
- DXI补充说明
- 利用光流法计算人体运动的速度与方向
- JavaSE复习之一 基础知识:Java的基础语法
- JavaSE复习之二 基础知识:面向对象
- JavaSE复习之三 基础知识:常用API
- 黑马程序员——java基础——IO流中的其他常用类
- JavaSE复习之四 基础知识:集合