操作符(1)

算术操作符:+、-、*、/、%

int main()
{
	//操作符(运算符)
	int ret = 10 / 3;
	//备注:对于除法操作符来说,两边的操作数都是整数,执行的是整数除法
	//如果想计算出小数,除号的两端至少要有一个操作数是浮点数
	double ret2 = 10.0 / 3;
	printf("%d\n", ret);
	printf("%.1lf\n", ret2);
	return 0;
}

取模计算的是整除之后的余数,取模操作符的两边的操作数只能是整数


移(2进制)位操作符

2进制:整数的2进制表示形式其实有三种,原码、反码、补码。

内存中存储的起始是:补码的二进制,所以在进行移位操作的时候,移动的都是补码

左移操作符:

int main()
{
	//按照一个数的正和负直接写出它的二进制表示形式得到的就是原码
	// 
	//正数
	//正数的原码、反码、补码是相同的
	//负数的原码、反码、补码要经过计算
	//反码的符号位不变,其他位按位取反就是反码
	//补码就是反码+1
	//整型占四个字节(32bit)
	//00000000000000000000000000001010-原码
	//00000000000000000000000000001010-反码
	//00000000000000000000000000001010-补码
	int a = 10;
	//10000000000000000000000000001010-原码
	//11111111111111111111111111110101-反码
	//11111111111111111111111111110110-补码
	int b = -10;
	return 0;
}

原码到补码,取反+1

补码到原码,取反+1

int main()
{
	int a = 10;
	//00000000000000000000000000001010-补码
	int b = a << 1;//左移1位
	//00000000000000000000000000010100
	printf("%d\n", b);
	printf("%d\n", a);
	return 0;

}//输出20、10
int main()
{
	int a = -10;
	//10000000000000000000000000001010-原码
	//11111111111111111111111111110101-反码
	//11111111111111111111111111110110-补码
	int b = a << 1;
	//11111111111111111111111111101100-b的补码
	//10000000000000000000000000010011
	//10000000000000000000000000010100-b的原码
	printf("b=%d\n", b);
	printf("a=%d\n", a);
	return 0;
}

右移操作符: 分为算术右移和逻辑右移

算术右移:右边丢弃,左边补原来的符号位

逻辑右移:右边丢弃,左边直接补0

int main()
{
	int a = -1;
	//10000000000000000000000000000001
	//11111111111111111111111111111110
	//11111111111111111111111111111111-补码
	int b = a >> 1;
	printf("b=%d\n", b);
	printf("a=%d\n", a);
	return 0;
}//输出b=-1,a=-1

移位操作符<<、>>后面不能跟负数


位操作符有:按位与、按位或、按位异或

http://t.csdn.cn/uTohv


赋值操作符:=

复合赋值符:+=、-=、/=……


单目操作符:只有一个操作数的

! :逻辑反操作

-:负值

+:正值

&:取地址

sizeof :操作数的类型长度(以字节为单位)

~:对一个数的二进制按位取反

--:前置、后置--

++:前置、后置++

*:间接访问操作符:间接访问操作符(解引用操作符) 

(类型):强制类型转换

双目操作符:有两个操作数的


布尔类型:就是用来表示真假的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值