c语言之系统的认识操作符

1.算术操作符

+   -   *   /   %

 / 

整数的除法  1/2->0

浮点数的除法 1.0/2->0.5

若想用/实现浮点数除法则/号两边至少有一个小数

%:计算的是整除后的余数,取模操作符的的两端必须是整数

2.移位操作符

>>右移操作符      

<<左移操作符      移动的是二进制位

移位操作符只针对整型数

ps:正的整数的原码·反码·补码相同;负的整数的原码·反码·补码需要计算

二进制在整数中的三种形式
//7
00000000000000000000000000000111//原码  最高位为0表示整数
00000000000000000000000000000111//反码
00000000000000000000000000000111//补码
//-7
10000000000000000000000000000111//原码  最高位为1表示负数
11111111111111111111111111111000//反码  最高位不懂,其余位按位取反得到反码
11111111111111111111111111111001//补码  反码加1,得到补码
//整数在内存中存的是补码
#include//左移操作符
int main()
{
	int a=7;
	int b=a<<1;//左边丢弃,右边补零
	printf("%d\n",a);
	printf("%d\n",b);
	return 0;
}

7
14

--------------------------------
Process exited after 0.00511 seconds with return value 0
请按任意键继续. . .

#include//右移操作符
int main()
{
	int a=7;
	int b=a>>1;
	printf("%d\n",a);
	printf("%d\n",b);
	return 0;
}

7
3

--------------------------------
Process exited after 0.07812 seconds with return value 0
请按任意键继续. . .

右移操作符分为

算数位移:右边丢弃,左边补原符号位

逻辑位移:右边丢弃,左边补零                          采用的位移方式取决于编辑器
 值得注意的是对于位移操作符,不要移动负数位,这个是标准位定义的

持续更新中——————————————————————————————

你可能感兴趣的:(c语言,数据结构)