算数操作符与移位操作符

目录

一、算数操作符

二、移位操作符

一、算数操作符

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

1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。
2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除
法。
3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。

二、移位操作符


1.<< 左移操作符
规则: 左边抛弃、右边补 0
2.>> 右移操作符
规则:
首先右移运算分两种:
1. 逻辑移位
左边用 0 填充,右边丢弃
2. 算术移位
左边用原该值的符号位填充,右边丢弃
那么接下来我用vs2013来测试在该编译器下是使用何种移位方式
那么我们使用-1来进行测试,不使用正数是因为对于正数两种移位方式是相同的
-1的原码为10000000000000000000000000000001
       补码为1111111111111111111111111111111111111
如果采用逻辑右移,结果应为011111111111111111111111111111111,原码为+1
如果采用算术位移,结果为11111111111111111111111111111111,原码仍为-1
#include<stdio.h>
int main()
{
	int a = -1;
	printf("%d\n", a >> 1);
	return 0;
}

可得该编译器下右移操作为算数右移。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值