十一、0基础都能看懂(会打字就会C)--C语言基础--操作符(1)

算术操作符

算术操作符有+-*/%.

依次是加减乘除和取余,但是我们使用的时候,特别要注意的除法的使用。

#include<stdio.h>
int main()
{
	double a = 5 / 2;
	printf("%lf\n", a);
		return 0;
}

例如上面代码,我们计算的是5/2,那么我们输出的结果应该是2.5,但是当我们输出后,我们就会发现我们的结果为2,少了小数的部分,这是因为我们5/2两边数字都是int,所以我们输出的时候我们的结果就默认为int型,假如我们想要输出为2.5,我们可以让5改为5.0或者将2改为2.0(两个都改也是可以的),那么我们的数据就改为浮点型了,我们就可以输出2.5也会就默认为浮点型了。

#include<stdio.h>
int main()
{
	double a = 5.0 / 2.0;
	printf("%lf\n", a);
		return 0;
}

在我们%(取余)符号的两边我们必须为整数假如我们5.0%2,这样就是错误的,我们取余的计算方法就是找到最大公约数,然后将去公约的部分就是我们想要得到的结果(也可以这样解释:两个数相除后剩下的余数就是我们的结果)。

#include<stdio.h>
int main()
{
	int a = 5%2;
	printf("%d\n", a);
		return 0;
}

因为我们5与2的公约数为2,我们减去公约的部分也就是5-2*2=1,所以我们输出的结果也就是1。

#include<stdio.h>
int main()
{
	int a = -5%2;
	printf("%d\n", a);
		return 0;
}

负数的取余也很简单,我们先计算出两个数字都是正数的取余值,然后加上负号就是我们负数取余的结果了。上面我们知道5%2=1,所以-5%2=-1。

移位操作符

我们的移位操作符有<<和>>,这里的移位也就是我们的位置发生改变,我们<<就表示我们位置向左边,同理>>就表示我们的位置向右移动,我们知道计算机识别的语句是二进制的,我们这里所说的移动也就是计算机二进制位置的移动。

#include<stdio.h>
int main()
{
	int a = 2;
		int b = 2 << 2;
	printf("%d\n", b);
		return 0;
}

我们知道int的字节数为4,一个字节=8个比特,所以我们的2在二进制里面的表示也就是:

00000000,00000000,00000000,00000010

我们<<2就是10的位置向左移动了2个位置(空出来的位置补为0)所以我们结果为:

00000000,00000000,00000000,00001000,

所以我们的结果也就是8。

位操作符

位操作符具体意思
x&y按位与
x||y按位或
x^y按位异或

我们假设两个int a,int b:

a:         00000000,00000000,00000000,00000101

b:         00000000,00000000,00000000,00010110

a&b     00000000,00000000,00000000,00000100

a|b      00000000,00000000,00000000,00010111

a^b     00000000,00000000,00000000,00010011

a&b的意思是找a与b共同1的位置,其它位置均为0。

a|b的意思是找a与b共同0的位置,其它位置均为1。

a^b的意思是a与b的操作位的数字不同则为1,相同则为0。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值