c语言如何取模运算

Python06

c语言如何取模运算,第1张

C语言用取模运算符“%”进行取模运算。

取模运算符“%”的作用是求两个数相除的余数。例如,请看下面这段代码:

x=15/7

如果x是一个整数,x的值将为2。然而,如果用取模运算符代替除法运算符"/",得到的结果就不同了:

X=15%7

这个表达式的结果为15除以7的余数,等于1。这就是说,15除以7得2余1。

取模运算符通常用来判断一个数是否被另一个数整除。例如,如果你要打印字母表中序号为3的倍数的字母,你可以使用下面这段代码:

int x

for(x=1x<=26x++)

if((x%3)==0)

printf("%c"x+64)

上例将输出字符串"cfilorux",即字母表中序号为3的倍数的所有字母。

取模运算余数的定义:当被除数不够整除时余下的数。

当都是正整数时:

除法实际可转化为减数,不够减时剩下的就是余数。

例如:12%5

12-5-5

2

当存在负数时: x%y

i. 当异号时:

if |x|>|y|

result: x+y

else

result: x

例:

-6% 5等于-1

6%-5等于 1

5%-6等于 5

-5% 6等于 -5

ii. 当同号时:

if |x|>|y|

result: x-y

else

result: x

例:

-1%-5等于-1

-6%-5等于-1

-4%-5等于-4

-5%-6等于-5

C语言中的取模运算就是一个取余数的过程。常用%号表示取模运算。可以将取模运算看成取余运算。

例如:10÷3=3....1 10除3的余数为1 ,在C语言中10%3的结果也为1。两者在处理的效果上没任何差别。只不过一个是数学运算,一个是编程语言中的一种运算方式。

取模运算常用在判断素数,判断奇偶数,判断最大公约数中较为常用,一般作为判断依据。

扩展资料:

给定一个正整数p,任意一个整数n,一定存在等式 :

n = kp + r ;

其中 k、r 是整数,且 0 ≤ r <p,则称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数。

对于正整数 p 和整数 a,b,定义如下运算:

取模运算:a % p(或a mod p),表示a除以p的余数。

模p加法: ,其结果是a+b算术和除以p的余数。

模p减法: ,其结果是a-b算术差除以p的余数。

模p乘法: ,其结果是 a * b算术乘法除以p的余数。

参考资料来源:百度百科-取模运算

C语言的取模与取整之间一定会满足下列公式

正数之间取模大家很容易理解:

那么如果取模的两个数中有负数呢?

我们知道 -5 / 2 = -2 ,那么就可运用到文章开头的公式的变形: