📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
文章目录
- 一、操作符大全
- 二、位与逻辑的区别
- 转义字符
- 运算符
一、操作符大全
二、位与逻辑的区别
📝位与和逻辑与的区别:位与是两个操作数是按照二进制位彼次对应位相与的,逻辑与是两个操作数作为整体来相与的。
(举例:0xAA&0xF0=0xA0, 0xAA && 0xF0=1)
📝位或和逻辑或的区别:位或时两个操作数是按照二进制位彼次对应位相与的,逻辑或是两个操作数作为整体来相或的
📝位取反和逻辑取反
1、按位取反是将操作数的二进制位。如果这个数是十进制或是十六进制计算机会自动转换为二进制,逐个按位取反(1变成0,0变成1)。因此两次按位取反还是其本身。
2、而逻辑取反是真(在C语言中只要不是0的任何数都是真)变成假(在C语言中只有0表示假)、假变成真。因此如果一个非零的数,逻辑取反后就是0。
//在C++中,0代表假,1代表真的。
int a = 2;
cout << !a;//在C++中,除了0都是真的,此代码输出为0,即为假。
cout << !!a;//在C++中,两次取非,即假假为真,此代码输出为1,即为真。
实验:任何非0的数被按逻辑取反再取反就会得到1,而不是它本身,这点需要注意;任何非0的数倍按位取反再取反就会得到他自己;
也就是:
~~a=a
📝位与、位或、位异或的特点总结:
位与:(任何数,其实就是1或者0)与1位与无变化,与0位与变成0
位或:(任何数,其实就是1或者0)与1位或变成1,与0位或无变化
位异或:(任何数,其实就是1或者0)与1位异或会取反,与0位异或无变化
转义字符
运算符
赋值运算符的作用:与数学中的等号意义完全不同。赋值预运算符(=)作用就是经过运算后符号左边的部分(左值,一般是一个变量)的值等于右边的部分(右值,一般是一个常量或是变量)了。简单来说就是,将右值赋值给左值。而数学里面的等号与判断运算符中的“==”一样。
复合运算符的作用:在赋值运算符“=”的前面加上其它运算符,组成复合赋值运算符。设计这种的目的是为了简化代码。
复合运算符的种类:
加等于(+=):a+b=a 等同于a+=b
减等于(-=):a-b=a 等同于a-=b
乘等于(=):ab=a 等同于a*=b
除等于(/=):a/b=a 等同于a/=b
余等于(%=):a%b=a 等同于a% =b
算术运算符的作用:等同于数学中的算术运算。
算术运算符的作用的种类:
算数运算符一共包括以下几种符号,分别是加、减、乘、除(/)以及取模(%);除法结果如果是整型的话,没有四舍五入,只保留整数部分。
还包括两种特殊的运算符:前置递增递减(++a,–a)、后置递增递减(a++,a–)。
加加(++):a++;等同于++a;等同于a=a+1;等同于a+=1;
减减(–):a–;等同于–a;等同于a=a-1;等同于a-=1;
前置与后置的区别
作业:查资料搞清楚a++与++a的区别。如下结果说明:
++a是先加1,后赋值运算;
a++是先赋值运算,后加1。
前置递增会先让变量加1,然后再进行表达式的运算,后置则相反。
比较运算符的作用:又叫做判断运算符,用于表达式的比较,可以写出一个判断表达式,并返回一个真值或是假值,也就是直接输出一个布尔类型的数据。这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环。
比较运算符的种类:
逻辑运算符的种类:包括与或(||)非(!)
注意C++里面使用单个“&”表示“与”,而C语言使用“&&”来表示“与”。
运算的优先级:先乘除后加减,有括号的先算括号里面的,跟数学中的运算优先规则一致。
指针与地址运算符:变量的指针就是该变量的地址
指针运算符“*”放在指针变量前面
取地址运算符“&”放在变量的前面