C语言基础知识(4)------操作符

本文详细介绍了位操作符,包括左移(<<)和右移(>>)操作,并通过实例展示了它们如何影响二进制位。同时,解释了按位与(&)、按位或(|)和按位异或(^)的使用。此外,还提到了赋值操作符(=)和逻辑操作符(&&、||)以及条件操作符(exp?exp2:exp3)。这些基础知识对于理解计算机底层运作和编程至关重要。

一、移位操作符

<<   左移                >>     右移

举例:

int main()
{
	int a = 1;
	int b = a << 1;
	printf("%d\n", b);
	return 0;
}

 

解释:int a = 1

//整型1占4个字节-------32bit位

00000000000000000000000000000001

a<<1;

a:  00000000000000000000000000000010

这里需要补充个知识:

右移操作符:如果原符号位是正,则在左边补0,如果为负,则补1,如果为无符号,则都补0

左移操作符:不管有无符号,都在右边补0

二、位操作符

1、&---按位与

2、|----按位或

3、^---按位异或-------对应二进制相同,则为0,对应二进制不相同,则为1

举例:

int a = 3;    int b = 5;  int  c =  a&b;   int d = a|b;   int e = a^b;

遇到这些问题,首先要把a和b转化为二进制,才可以进行计算。

  3------011

  5------101

&         001    输出1

|           111     输出8

^           110     输出6

三、赋值操作符

注意:一个“=”为赋值,“==”是判断相等,“!=”是不等于

就像上面的图一样。 

四、逻辑操作符

真-----非0的数         假------0       &&------逻辑与        ||----逻辑或

int main()
{
	int a = 3;
	int b = 5;
	int c = a && b;
	printf("%d\n", c);
	return 0;
}

如上面的代码,a是非0的数,代表真,b是非0的数,也代表真,所以&&,这两个都为真,那么c就是输出1.

五、条件操作符

exp?exp2:exp3    如果exp为真,则输出exp2,否则输出exp3

max = (a>b?a:b)     如果a>b,则a的值赋予max,否则b的值赋予max

那么,今天的分享就到这里了,如果大家有任何的不清楚的地方,随时可以私信我,本人一定会及时回复的!!!!!!!!!!!!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值