第四章_表达式_4.2 算术运算符

4.2 算术运算符

4.2 算术运算符

算术运算符

上图中按照运算符的优先级将其分组。一元运算符的优先级最高,接下来是乘法和除法,优先级最低的是加法和减法。

上述所有运算符都满足做左结合律,意味着当优先级相同时按照从左向右的顺序进行组合。

算术运算符能作用于任意算术类型以及任意能转换为算术类型的类型。

算术运算符的运算对象和求值结果都是右值。

一元运算符作用域一个指针或者算术值时,返回运算对象值的一个(提升后)的副本。

int i = 1024;
int k = -i;		// k = -1024
bool b = true;
bool b2 = -b;	// b2 = true,布尔类型被提升为 int

运算符%俗称“取余”或“取模”运算符,负责计算两个整数相除所得的余数,参与取余运算的运算对象必须是整数类型。

在除法运算中,如果两个运算对象的符号相同则商为正,否则商为负。商一律向 0 取整(直接切除小数部分)。

根据取余运算的定义,如果mn是整数且n非 0,则表达式(m/n)*n+m%n的求值结果与m相等。隐含的意思就是,如果m%n等于 0,则它的符号和m相同。除了-m导致溢出的特殊情况,其他时候(-m)/nm/(-n)都等于-(m/n)m%(-n)等于m%n(-m)%n等于-(m%n),具体示例如下:

21 % 6;		// 结果是 3				21 / 6;		// 结果是 3	
21 % 7;		// 结果是 0				21 / 7;		// 结果是 3
-21 % -8;	// 结果是 -5				-21 / -8;	// 结果是 2
21 % -5;	// 结果是 1				21 / -5;	// 结果是 -4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值