运算?-C++运算符

描述

运算? 为啥运算
你算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
    买小零食

  • !
    逻辑非
    有变成没有
    没有变有

递增/递减运算

  • ++前置递增运算符
    给变量+1 (直接+1)
int i=1;
++i;
  • ++后置递增运算符
    给变量+1 (将值复制,再+1)
int i=1;
i++;
  • ++前置递减运算符
    给变量-1 (直接-1)
int i=1;
--i;
  • --后置递减运算符
    给变量-1 (将值复制,再-1)
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
  • ~位非运算
    当一个操作数 的 每一位 为0 变成1 ,每一位 为1 变成0
	const  int num = ~10;
	//00000000 00000000 0000000 00001010-> 10
	//							~
	//11111111 11111111 1111111 11110101-> -11
  • ^异或运算
    两个操作数 遇到不相同的位 为1 否则 为0
  • 0^0==0
  • 1^1==0
  • 0.^1 OR 1^0==1
	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
  • <<左移运算
    每左移一位 相当于 操作数 *2 左移N位 相当于 操作数 *(2 ^n)次方
    右边的位用 0 来填充, 移动超出左边边界的位则直接抛弃。
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
  • >>右移运算
    每右移一位 相当于 操作数 /2 左移N位 相当于 操作数 /(2 ^n)次方
    如果左操作数是无符号类型,则左边多出来的位用 0 来填充。
    如果左操作数是有符号类型,则左边多出来的位用 符号位(最高位) 来填充。
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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小森程序员

若能帮助到你,小费自愿付费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值