C语言初学5:运算符

一、算数运算符

假设变量 A 的值为 10

|-----|--------|-------------------|
| 运算符 | 描述 | 实例 |
| A++ | 先赋值后运算 | C = A++ C为10 A为11 |
| A-- | 先赋值后运算 | C = A-- C为10 A为9 |
| ++A | 先运算后赋值 | C = ++A C为11 A为11 |
| --A | 先运算后赋值 | C = --A C为9 A为9 |

二、位运算符

|-------|-------------------------------------------------------------------|-----------------------------------------------|
| 运算符 | 描述 | 实例 |
| & | 对两个操作数的每一位执行逻辑与操作,如果两个相应的位都为 1,则结果为 1,否则为 0。 | (11 1100)&(1101)得到1100 |
| | | 对两个操作数的每一位执行逻辑或操作,如果两个相应的位都为 0,则结果为 0,否则为 1。 | (11 1100)&(1101)得到11 1101 |
| ^ | 对两个操作数的每一位执行逻辑异或 操作,如果两个相应的位值相同,则结果为 0,否则为 1。 | (11 1100)&(1101)得到11 0001 |
| ~ | 对操作数的每一位执行逻辑取反操作,即将每一位的 0 变为 1,1 变为 0。 | ~(11 1100)得到1100 0011 |
| &=~ | A&=~B即表示A = A & ~B,给B中为1的位对应于A的同样位上置0,A的其他位不变(嵌入式中代表清故障位) | 如:A=11010111 B=00000001 则A&=~B执行结果为11010110 |
| |= | A|=B即表示A = A | B,给B中为1的位对应于A的同样位上置1,A的其他位不变(嵌入式中代表置故障位) | 如:A=11010110 B=00000001 则A|=B执行结果为11010111 |
| << | 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0) | 如:A=111100 A<<2得到1111 0000 |
| >> | 将一个数的各二进制位全部右移若干位,正数左补 0,负数左补 1,右边丢弃。 | 如:A=111100 A>>2得到0000 1111 |

相关推荐
IT技术分享社区5 分钟前
C#实战:使用腾讯云识别服务轻松提取火车票信息
开发语言·c#·云计算·腾讯云·共识算法
极客代码8 分钟前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
疯一样的码农15 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
&岁月不待人&37 分钟前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
StayInLove40 分钟前
G1垃圾回收器日志详解
java·开发语言
TeYiToKu42 分钟前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
无尽的大道1 小时前
Java字符串深度解析:String的实现、常量池与性能优化
java·开发语言·性能优化
互联网打工人no11 小时前
每日一题——第一百二十四题
c语言
爱吃生蚝的于勒1 小时前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
羊小猪~~1 小时前
数据结构C语言描述2(图文结合)--有头单链表,无头单链表(两种方法),链表反转、有序链表构建、排序等操作,考研可看
c语言·数据结构·c++·考研·算法·链表·visual studio