算数操作符和位移操作符——————C语言

一,算数操作符

1,算术操作符(+ - * )和数学中的运算法则一样。

2,/(除)

在除法运算中,如果符号两边的操作数都是整数,结果要取整(取小于他的最大整数,如,3.1和3.9都取3,即向零取整)。

但只要有一个操作数是浮点型,计算结果就是浮点型

3.取余(%)

取余运算的结果是两数相除后留下了的余数,取余运算的操作数只能是整数,a%b当a的值小于b时结果为a

二, 位移操作符

<<(左移),>>(右移)

1,<<左移操作符,因为数在计算机中是以二进制的补码形式储存,所以移动的也是二进制的补码,左移操作符向左移动,符号位不变,抛弃左面,右边补0,>>右移操作符右边抛弃,左边步符

号位

​#include <stdio.h>
int main()
{
	//左移操作符 <<
	int a = 10;
//a 的原码:00000000 00000000 00000000 00001010
//正数的原码 反码、补码 相同
	int b = a << 1;
//将a左移一位:00000000 00000000 00000000 00010100
// 左移一位之后还是一个正数,原、反、补 相同
// b=20
	printf("%d\n", b);
}
​

​​
#include <stdio.h>
int main()
{
//0 表示正数,1表示负数
	int a = -10;
//a原码 : 10000000 00000000 00000000 00001010
// 反码: 11111111 11111111 11111111 11110101
// 补码: 11111111 11111111 11111111 11110110
//将补码算术右移一位
	int b = a >> 1;
//补码:11111111 11111111 11111111 11111011
//	    10000000 00000000 00000000 00000100
//原码:10000000 00000000 00000000 00000101
// b=-(1+4)=-5
	printf("%d\n", b);
	return 0;
}

​
​

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值