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

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++的大部分情况。取余运算时首先全取绝对值进行计算,再进行符号的判断

    原文作者:大整数乘法问题
    原文地址: https://blog.csdn.net/misayaaaaa/article/details/69802746
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞