算术操作符 移位操作符 原码反码补码 位操作符 按位与& 按位或| 按位异或^ 复合操作符 单目操作符 !逻辑反操作 &取地址操作符 sizeof计算变量所占空间大小单位字节

算术操作符

#include<stdio.h>
int main()
{
   
	int a = 5 / 2;//商2余数1 
	int a = 5 % 2;//%的结果是余数1
	printf("a = %d\n", a);
	return 0;
}

移位操作符 原码 反码 和补码

右移操作符 算术右移 右边丢弃,左边补原符号位,1表示负数
0表示正数
左移操作符 左边丢弃,右边补0
注意:它们的操作数必须都是整数

#include<stdio.h>
int main()
{
   
	int a = -1;
	//整数的二进制表示有:原码,反码,补码
	//存储到内存的是补码
	//整数的原码 = 反码 = 补码
	//1000 0000 0000 0000 0000 0000 0000 0001 ---原码
	//1111 1111 1111 1111 1111 1111 1111 1110 ---反码
	//1111 1111 1111 1111 1111 1111 1111 1111 ---补码
	int b = a >> 1;//这里是指将a的二进制位向右移动一个,也就是将补码移动一个
	//1111 1111 1111 1111 1111 1111 1111 1111--- 补码      移动完了之后的
	//1111 1111 1111 1111 1111 1111 1111 1110--- 反码
	//1000 0000 0000 0000 0000 0000 0000 0001 --- 原码
	int c = 5;
	//0000 0000 0000 0000 0000 0000 0000 0101 --原码 反码 补码相同
	//0000 0000 0000 0000 0000 0000 0000 1010 左移动之后十进制是10
	int d = c << 1;
	printf("d==%d\n", d);
	printf("b =%d\n", b);
	return 0;
}

位操作符

二进制 位操作符
& 按位与
| 按位或
^ 按位异或
注意:它们的操作数必须都是整数
&按二进制 位与 二进制位相比较,只要有一个是0那么都是0

按位与 &

#include<stdio.h>
int main()
{
   
	//&按位与   二进制位相比
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值