首页 > 其他 > 详细

模运算%的结果符号

时间:2014-10-04 19:40:47      阅读:313      评论:0      收藏:0      [点我收藏+]

代码:

#include <stdio.h>
#include <stdlib.h>

void display(int, int);

int main(void) {

	// 模运算的结果取决于第一个操作数的符号
	// 如果第一个操作数是正数,得到的模也是正数
	// 如果第一个操作数是负数,得到的模也是负数

	// a % b = a - [a / b] * b
	// [x]表示对数x趋零取整
	// C99中,对整数除法规定趋零截尾

	int a, b;

	a = 9;
	b = 5;
	display(a, b);

	a = 9;
	b = -5;
	display(a, b);

	a = -9;
	b = -5;
	display(a, b);

	a = -9;
	b = 5;
	display(a, b);

	return EXIT_SUCCESS;
}

void display(int a, int b) {
	printf("%+d / %+d = %+d, %+d %% %+d = %+d\n", a, b, a / b, a, b, a % b);
}

输出:

+9 / +5 = +1, +9 % +5 = +4
+9 / -5 = -1, +9 % -5 = +4
-9 / -5 = +1, -9 % -5 = -4
-9 / +5 = -1, -9 % +5 = -4


模运算%的结果符号

原文:http://my.oschina.net/Xwoder/blog/324235

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!