操作符详解

操作符:
算术操作符
"/":如果两个操作数都为整数,执行整数除法;有浮点数就为浮点数除法。
**"%"**两个数必须为整数。

①移位操作符:将一个数的二进制位右移或左移给定的位数 >>x:左移x个位数 <<x:右移x个位数

int a = 5;
	int b = a << 1;//二进制数右移一位
	printf("%d",b);//得到10

右移包括算数右移和逻辑右移
算术右移:右边丢弃,左边补原符号位(大部分都是算术右移)
逻辑右移:右边丢弃,左边补0

二进制数
原码
反码
补码:内存中存放。

32位二进制数,最高位为‘0’,表示正数,最高位为‘1’,表示负数。
对于正数而言,原码,反码,补码相同
对于负数而言,原码为本来得出的值,反码为除了最高位,对原码按位取反,补码=反码+1。
例如:
-2:
原码:10000000000000000000000000000010
反码:11111111111111111111111111111111101
补码:11111111111111111111111111111111110

②位操作符(二进制数):
&:按位与 同为1才为1
^:按位异或 相异为1,相同为0;
|:按位或 只要有1就为1
③赋值:
a=a+10和a+=10完全相同。
④按位取反(二进制数):0→1 1→0
~a:对a进行按位取反
⑤后置++:先使用,再++;
前置++;先++,后使用;

    int a = 3;
	int b = 0;
	int c = 0;
	b = a++;//将a原本的值给b,a再++
	printf("%d",b)b=3
	c = ++a;//将a++,再将值给c
	printf("%d",c)   c=5

⑥强制类型转换
例:将5.1强制转换成整型

    int a =(int)5.1;
	printf("%d ",a);

⑦三目操作符:
max=(a>b?a:b)
成立:max=a;不成立;max=b;
⑧逗号表达式:
a=(…,…,…):从左向右依次计算,最后一式结果赋给a.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值