C++11 整型的算术运算

  • 简介

本文主要介绍在C++11中关于整型数据的取余与除法运算的内容。

  • 除法运算

在C++11中,两个整数相除的结果仍然是整数(除数不能为0),整数相除会舍弃小数部分,例如:

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. int val = 21 / 6  //得到的val = 3  
在整数除法中,当被除数和除数符号相反时,得到的结果是负数,当两者的符号相同时,得到的结果是整数,如:

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. int a = 8 / 3;  // 2  
  2. int b = 8 / -3;  // -2  
  3. int c  = -8 / 3;  // -2  
  4. int d = -8/-3;  // 2  

在除法计算中,c++11规定计算的结果都向0取整,也就是说得到的结果直接切除小数部分,不管商是整数还是负数,如:

8 / -3 = -2.6666...,得到的结果就直接去掉小数部分,也就是结果为2。

  • 取余运算

取余运算又称取模运算,计算两个整型相除得到的余数,参与取模运算的两个操作数必须都是整型

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. int a = 8 %3.5;  // 编译出错  
在C++11标准中,m%n的值与m的符号相同,也就是说m%n = m%(-n),(-m)%n = -(m%n),例如:

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. int a = 8 %3; // 2(结果与8符号一致)  
  2. int b = 8 % -3;  // 2(结果与8符号一致)  
  3. int c  = -8 % 3;  // -2(结果与-8符号一致)  
  4. int d = -8%-3;  // -2(结果与-8符号一致)  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值