高通|C语言-自运算、位运算-取反运算

①自加自减运算
重点在区分表达式的值和变量的值 。
~
1.自加运算
++在前 , 先变量+1 , 再表达式 。
++在后 , 先表达式 , 再变量+1 。
i=5
++i…i=6++i=i=6 。
i++…i++=i=5i=6 。
即i++的表达式不+1 。
~
2.自减运算
--在前 , 先变量-1 , 再表达式 。
--在后 , 先表达式 , 再变量-1 。
i=5
--i…i=4++i=i=4 。
i--…i++=i=5i=4 。
即i--的表达式不-1 。
~
②位运算
针对二进制的运算 。
~
3.按位与(a&b)
相同位都为1则为1 。
已知
00001001=9
00000101=5
求出
00000001=1
~
4.按位或(a/b)
相同位只要有一个为1就为1 。
已知
00001001=9
00000101=5
求出
00001101=13
~
5.按位异或(a^b)
相同位不同时为1 , 相同时为0 。
已知
00001001=9
00000101=5
求出
00001100=12
~
6.左移(a<<b)
已知
00001001=9
求出
00010010=18
~
7.右移(a>>b)
已知
00001001=9
求出
00000100=4
~
8.按位取反(~a)
1变0 , 0变1
已知
00001001=9
求出
11110110=246
注意:C语言中首位为1表示负数 , 此处246只是二进制的结果 , C语言结果见下 。
~
③取反运算a=-(a+1)
9.正数取反
原码00001001=9
补码00001001(正数补码反码不变 , 9的储存)
取反11110110
反码11110101(补码-1 , 9取反)
原码10001010=-10(负数以补码形式储存)
~
10.负数取反
原码10001001=-9
反码11110110(负数取反符号位不变)
补码11110111(反码+1 , -9的储存)
取反00001000=8(-9取反)
【高通|C语言-自运算、位运算-取反运算】原码00001000=8(正数补码储存不变)
- 洪水|洪水袭来怎么办 逃生自救指南请收好
- 位于广东省阳江市的海陵岛自然资源丰富,景色优美,该岛没有 神奇海洋6月28日答案
- 网友热议|母亲回应3个孩子2个上清华:只能教孩子做人诚实守信 学习都靠自己努力
- 苹果|抢台积电3nm产能!苹果自研处理器M2 Pro/M3齐曝光 性能更强
- 英特尔|两倍变焦自拍能有多大区别?苹果、三星、OPPO自拍样张解析
- 高通骁龙|夏天一到骁龙8Gen1没怎么玩就发热?Find X5 Pro用户最有发言权
- 唯一拥有蓝色血液的生物,活了4亿年,救得了数万人却救不了自己
- 高通骁龙|中国能够生产机械硬盘吗?
- 显示器|买到就是赚到?这台300块的显示器快把我整自闭了
- 小米Civi,推荐给喜欢高颜值外观的自拍达人
