(三)王道-运算符-c++基本类型的类型转换

运算符及其优先级

1. 赋值运算符 =
a.赋值运算的左值必须是可修改的,被const修饰的变量不行
b.多个赋值操作符,各变量必须具有共同的数据类型

2. 自增自减运算符 ++ –
a.++i 先取地址,内容+1,存放在寄存器中,先变后用
i++ 先去地址,存放在寄存器中,再增在内存中的地址,先用后变
b.自增自减只能用于变量,不能用于常量与表达式
c.后缀++,–只能放于等号的右边

3. 位运算符
a.按位与(&):仅当两位都为1,结果为1
按位或(|):仅当两位都为0,结果为0
取反(~):每位取反,单目运算
按位异或(^):两位不同时,结果为1
b.给定一个整数,判断其是否为2的整数次幂?

if(n>1 &&((n&(n-1))==0)//((n&(n-1))==0)判断n的二进制是否只有一个1
  cout<<"YES";

c.异或运算性质:两个相同的数异或结果为0,且满足交换律
A^B ^C ^B=A ^C
此性质常用于寻找数成对出现时缺失的某一个数
交换两个变量的值,不借使用第三方变量

a=a^b;
b=a^b;
a=a^b;

4. 移位运算符
优先级:~运算符>移位运算符>与、或、异或运算符

c++基本类型的类型转换

1. 赋值转换
int a=3.14;//a=3
int *ip;ip=0;//ip是一个空指针
2. 表达式转换
a.整型提升,表达式时提升为int类型
b.运算时,表达力低的类型转化为表达力高的类型

3. 显示转换 用圆括号实现
注:无符号转为有符号时 高位补1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值