C的运算符:位运算符
来源:互联网 发布:linux zip命令 编辑:程序博客网 时间:2024/06/05 18:01
本博文主要讨论C语言的6种位运算符,共大家交流、学习。
1.按位与运算
按位与运算符"&"的功能是参与运算的两数相对应的二进制位相与。当对应的两个二进位均为1时,结果位为1 ,否则为0。(参与运算的数以补码方式出现,正数补码不变,负数补码,符号位不变,其它位按位取反加1)
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。
2.按位或运算
按位或运算符“|”的功能是参与运算的两数相对应的二进制位相或。只要对应的两个二进制位有一个为1时,结果位就为1。
例如:9|5可写算式如下: 00001001 (9的二进制补码)|00000101 (5的二进制补码) 00001101 (13的二进制补码)可见9|5=13。
3.按位异或运算
按位异或运算符“^”的功能是参与运算的两数相对应的二进制位相异或,当两对应的二进制位相异时,结果为1,否则为0.
例如:9^5可写算式如下: 00001001 (9的二进制补码)^00000101 (5的二进制补码) 00001100 (12的二进制补码)可见9^5=12.
4.求反运算
求反运算符“~”的功能是对参与运算的数的各二进制位按位求反。
例如:~1可写算式如下:~00000001 1的二进制补码)11111110(254的二进制补码)可见~1=254.
5.左移运算
左移运算符“<<”的功能是把“<<”左边的运算数的各二进位全部左移若干位,移动的位数由“<<”右边的数指定移动的位数决定,高位丢弃,低位补0。相当于参与运算的数乘以位移位数的n次方。
例如:9<<1可写算式如下: 00001001 (9的二进制补码) 00010010 (18的二进制补码) 可见9<<1的值为18
6.右移运算
右移运算符“>>”的功能是把“>>”右边的运算数的各二进制位全部右移若干位,移动的位数由“>>”右边的数指定移动的位数决定,低位位丢弃,高位补0。相当于参与运算的数除以位移位数的n次方。
注:此博文参考地址
http://baike.baidu.com/link?url=D0bUOhZqMvJ8CxZ3MXVGgu4yp-L2kkhAj58sUlZ_c6UpSKkiMpFzc-n1_eYKJx5gAVt6q5HPga1B9MthphTIB_#2
0 0
- C的运算符:位运算符
- C 的位运算符
- 【C++】位运算符
- 【C++】位运算符
- C 位运算符
- C 【位运算符 & | ^ ~ << >>】
- C/C++的位运算符操作
- C语言位运算符的使用
- c-----语言的按位运算符
- c语言的按位运算符
- C/C++的位运算符操作
- C语言的位运算符
- C的位运算符系统梳理
- Objective-C位运算符-Objective-C 位运算符
- C中的 "<<" 位运算符
- 位运算符C语言
- c语言位运算符
- 位运算符C语言
- JMS之ActiveMQ初试
- gulp常用配置
- 在Activity中的OnCreate方法中获取控件的宽高
- Matlab Tricks(二十)—— Hilbert matrix 的创建
- 继承之final关键字的使用
- C的运算符:位运算符
- 排序算法稳定性解析
- 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
- 多重背景实现法
- Leetcode||17.Letter Combinations of a Phone Number
- Spring 全注解配置 bean 和 调用 (3) @Conditonal 条件化的配置bean
- django view.py error 'function' object has no attribute 'objects' 解决办法
- Android实现列表抽屉展示效果
- poj3617 Best Cow Line 贪心