C++11 整型的算术运算

  • 简介

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

  • 除法运算

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

int val = 21 / 6  //得到的val = 3
在整数除法中,当被除数和除数符号相反时,得到的结果是负数,当两者的符号相同时,得到的结果是整数,如:

int a = 8 / 3;  // 2
int b = 8 / -3;  // -2
int c  = -8 / 3;  // -2
int d = -8/-3;  // 2

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

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

  • 取余运算

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

int a = 8 %3.5;  // 编译出错
在C++11标准中,m%n的值与m的符号相同,也就是说m%n = m%(-n),(-m)%n = -(m%n),例如:

int a = 8 %3; // 2(结果与8符号一致)
int b = 8 % -3;  // 2(结果与8符号一致)
int c  = -8 % 3;  // -2(结果与-8符号一致)
int d = -8%-3;  // -2(结果与-8符号一致)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值