您的位置:首页 > 编程语言 > C语言/C++

C++ int型负数除法取余问题

2017-04-11 09:13 751 查看
1:关于除法,不管是正数还是负数都是向0取整的:10/4 = 2,10/(-4) = -2

2:负数取余,通过取模来判定

|小| % |大| = |小| 符号同前    |大| % |小| = |余| 符号同前

3%4 = 3 ; -3%4 = -3 ; -3%-4 = -3 ; 3%-4 = 3;

5%3 = 2 ; 5%-3 = 2  ;-5%-3 = -2 ; -5%3 = -2;

3:浮点数转化为int整形时,小数部分会被省略,注意不是四舍五入~~

#include <iostream>
using namespace std;

int main(int argc,char** argv)
{
int a = 8.5;
cout<<a<<endl;//输出8
cin.get();
return 0;
}

4:严谨的情况下,不同的编译器在负数的除法运算下是存在不同情况的;但是在GCC编译器下,余数和被除数的符号一致

(防止有小白~“14➗2”读作“十四除以二”,除号前面的是“被除数”,除号后面的是“除数”)

记住这一点即可解决C/C++的大部分情况。取余运算时首先全取绝对值进行计算,再进行符号的判断
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 负数 取余 除法
相关文章推荐