运算? 为啥运算
你算1+1 的时候是不是该 使用+号?
是的 但跟运算 有啥关系?
总的来说 加减乘除 运算的结果是不是会响应一个结果呢
+
//显示方式
int num=1+1;
//隐式方式
int num=1;
int ret = num +1;//ret==1 还是2????
-
//显示方式
int num=6-1;
//隐式方式
int num=6;
int ret = num -1;//ret==5 还是 其他值????
*
//显示方式
int num=6*5;
//隐式方式
int num=6;
int ret = num *5;//ret==30 还是 其他值????
/
//显示方式
int num=9/3;
//隐式方式
int num=9;
int ret = num /3;//ret==3 还是 其他值????
注意小数是不会显示出来的 需 把类型调整一下
%
//显示方式
int num=10%3;
//隐式方式
int num=10;
int ret = num %3;//ret==1 还是 其他值????
=
//这叫初始化值
int num=1;
//赋值 将10 这个数据赋值给变量num 也可以称之为 将这个10传送到num
num=10;
+=
//这叫初始化值
int num=1;
//加号赋值 将num+1在进行 得到结果是2,再赋值给num
// 相当于:num = num + 1;
num+=1;
-=
//这叫初始化值
int num=1;
//减号赋值 将num-1在进行 得到结果是0再赋值给num
// 相当于:num = num - 1;
num-=1;
*=
//这叫初始化值
int num=2;
//减号赋值 将num*2在进行 得到结果是4,再赋值给num
// 相当于:num = num * 2;
num*=2;
/=
//这叫初始化值
int num=10;
//减号赋值 将num/5在进行 得到结果是2,再赋值给num
// 相当于:num = num / 1;
num/=5;
%=
//这叫初始化值
int num=10;
//减号赋值 将num%2在进行 得到结果是0,再赋值给num
// 相当于:num = num % 2;
num%=2;
==
相等
!=
不相等
<
小于
>
大于
<=
小于等于
>=
大于等于
&&
逻辑与
二者都有才能拥有
比如说:
满500减100;
||
逻辑或
二者都没有才能没有
比如说:
钱<3 || 钱>=5
买小零食
!
逻辑非
有变成没有
没有变有
++
前置递增运算符int i=1;
++i;
++
后置递增运算符int i=1;
i++;
++
前置递减运算符int i=1;
--i;
--
后置递减运算符int i=1;
i++;
在硬件里操作常常会应用到位运算
一个字节有八个二进制数 也就是0-7位
两个字节有十六个二进制数 也就是0-15位
…
(需要主要的是只有整数类型和字符类型才能做位运算)
&
位与运算
当两个操作数 只要有一位为1结果为1 其余为0
const int num = 10;
//binAnd = 2;
const int binAnd = num & 6;
//00000000 00000000 0000000 00001010-> 10
// &
//00000000 00000000 0000000 00000110->6
//--------------------------------------
//00000000 00000000 0000000 00000010 ->2
|
位或运算
当两个操作数 只要两者的位为0 那就是0
const int num = 10;
//binOr = 14;
const int binOr = num | 6;
//00000000 00000000 0000000 00001010-> 10
// |
//00000000 00000000 0000000 00000110->6
//--------------------------------------
//00000000 00000000 0000000 00001110->14
~
位非运算 const int num = ~10;
//00000000 00000000 0000000 00001010-> 10
// ~
//11111111 11111111 1111111 11110101-> -11
^
异或运算 const int num = 10;
//XOr=26
const int XOr = num^16;
//00000000 00000000 0000000 00001010-> 10
// |
//00000000 00000000 0000000 00010000->16
//--------------------------------------
//00000000 00000000 0000000 00011010->26
<<
左移运算const int num = 10;
//LeftShift=40
const int LeftShift;= num << 2
//00000000 00000000 0000000 00001010-> 10
// <<
//00000000 00000000 0000000 00000010->2
//--------------------------------------
//00000000 00000000 0000000 00101000->40
>>
右移运算const int num = 10;
//RightShift= 2
const int RightShift;= num >> 2
//00000000 00000000 0000000 00001010-> 10
// >>
//00000000 00000000 0000000 00000010->2
//--------------------------------------
//00000000 00000000 0000000 0000010-> 2
你们应该看了 条件 文章吧 你有没有想过 有一个神奇的操作运算符 :三目运算符
具体为啥是三目运算符
首先来看看: 什么是三目运算符
满足条件? 返回该值或者常量 :返回该值或者常量
小例子:
cout<<你的月薪>-10000?"存起来5000":"存个屁没有大于等于10000";
相当于: if else
当然这可以返回数值 变量(可修改)
小例子:
//无论有没有 num>9 都是num=10;
(num>9?num :num)=10;