操作符

简介: 操作符

算术操作符

/除法表示商。  %取模表示商的余数


移位操作符

  • <<左移  左边舍去,右边添0

image.png


  • a<<2,表示向左移两位(将比特位形式的a进行移动) 如图
  • image.png
  • 进行移位操作时,a本身的值不变,除非将值赋给a本身。
  • <<  >>左移和右移性质相同,在这里就不累述了、


位操作符

位操作符中的“位”依旧是二进制位 ,所以关于二进制位的转化

&  按位与   就是两个变量,输出的二进制位只要有一个为0(假),则按位与的结果就是假--------------与按位或相反

|    按位或    与按位与相反,输出的二进制位只要有一个是1(真),则输出结果就为真----------------按位或,货真价实,所以与真有关。只要有一个为真,就为真。

^  按位异或   对应的二进制位相同,则为0,对应的二进制位相反,就为真(1  )-------------------按位异或比上面两个多出一个字,所以比较麻烦,分为两步。若相同则为0,不同就为假

image.png

单目 双目 三目操作符的区别:目 代表有几个操作数

比如:a+b就是双目操作符,因为有a b两个操作数


单目操作符

  • !逻辑反操作符 把真变为假,把假变为真。

image.png

输出结果为1,把假 变为真

  • &取地址操作符,适用于指针
  • ~  对一个数的二进制进行按位取反 

例:如果对整形 int 0进行按位取反,输出结果是-1

  1. 原因:首先int 表示有符号的整形,相反unsigned int 表示无符号的整形,意味着没有正负之分。
  2. 所以当~作用于一个有符号整形,分正负的数字上时,一切都得小心!
  3. 第一位表示符号位,一为正,二为负。所以将0进行按位取反时,变成32个1,第一位表示符号位,即为负。
  4. 又有规定负数在内存中存储的时候,存储的是二进制的补码。意味着32个1是补码
  5. 又因为我们在使用或打印是,是这个数的原码。
  6. 这时我们就有必要进行先转换
  7. 原码反码补码
  8. 原码符号位不变,其余按位取反得到反码
  9. 反码最后一位加1得到补码。
  10. 任何整数存储的都是补码,反码只是中间计算的一个状态
  11. 正数的原码补码反码,三码相同

TIP:按位取反和原码得到反码的区别:

按位取反:全部取反。

反码:符号位不变,其余位取反


总结:当~出现在有符号位的变量上时,就要注意。按位取反得到的是补码,还需转换位原码!!!关键在于~按位取反一个有符号的整形!


++  --

前置和后置的区别

总结:不管前置或者后置,a都需要进行加减。但计算b时,若后置,则“后知后觉”,b不变;若前置,则与a相同!

image.png

关系操作符

&&  逻辑与

||  逻辑或    

重点落在逻辑二字,

逻辑与:二者只要有一个为假,输出结果就为假

逻辑或:二者只要有一个为真,结果就为真

&&与位操作符&的区别

本质就要回归定义。

&表示位操作符,是关于二者的二进制位;而逻辑操作符&&判断条件。


条件操作符/三目操作符

( a>b ?  a : b  )

image.png

流程:a>b吗?若大于,就输出A,若小于就输出B(括号内没有逗号!)

相关文章
|
8月前
|
存储 C++
C/C++中位操作符(&,|,^,~)的详解使用
C/C++中位操作符(&,|,^,~)的详解使用
|
存储 索引
【操作符】
【操作符】
47 0
|
6月前
|
SQL 数据库
IN 操作符
【7月更文挑战第15天】IN 操作符。
49 4
|
6月前
|
SQL 数据库
BETWEEN 操作符
【7月更文挑战第15天】BETWEEN 操作符。
47 3
|
7月前
|
索引
操作符,详细讲解
操作符,详细讲解
|
8月前
|
编译器 C语言 C++
操作符详解2(二)
本文介绍了编程中的操作符转换和表达式解析规则。当操作数类型不同时,会进行寻常算术转换,按照long double、double、float等类型顺序进行向上转换。表达式求值时,虽然操作符有优先级,但不能决定操作数的求值顺序,例如`a*b + c*d + e+f`中乘法先于加法,但具体计算顺序不确定,可能导致不同结果。同样,如`c++ + c--`这样的表达式也是有歧义的,因为++和--的左右结合性不能确定操作数的获取顺序。文章强调,复杂的表达式可能因编译器差异产生不同结果,应避免使用可能导致非唯一计算路径的表达式以减少潜在风险。
57 0
|
存储
操作符详解上(非常详细)
操作符详解上(非常详细)
87 1
|
存储 编译器
操作符详解(1)
操作符详解(1)
48 0
|
Linux C++ 索引
操作符详解(二)
操作符详解(二)
97 0
|
C语言 索引
【C】操作符详解
今天给大家带来一篇关于C语言操作符的详细介绍,在C语言中操作符主要有以下几种:

热门文章

最新文章