取模和取余

取模和取余0 概述1 模数2 余数3 对比4 演示C++演示PHP演示Go演示Python演示JavaScript演示取模和取余0 概述

模数(Modulo Operation)和余数(Complementation)不是完全一致的算法。

1 模数

定义如下:

商 = 被除数/除数,例如 -1.75 = 7 % -4

将商向负无穷大取整,例如 floor(-1.75) = -2。(注意此步骤是模数与余数的差异点)

计算模数,公式为 模数=被除数-取整后商除数,例如 -1 = 7 - -2-4,模数就是 -1。

2 余数

定义如下:

(步骤与模数一致,区别在第2步,商取整的时候)

商 = 被除数/除数,例如 -1.75 = 7 % -4

将商向0取整,例如 fix(-1.75) = -1。(注意此步骤是模数与余数的差异点)

计算余数,公式为 余数=被除数-取整后商除数,例如 7 - -1-4 = 3,余数就是 3。

3 对比

公式一致,都是:

c = a/b

取整c

计算 r = a-c*b

唯一的差异,在于取整商c的时候,模数向无穷小取整,而余数向0取整(也叫截断小数取整)。 无论商为正负。

4 演示

C++演示

gcc version 6.3.0

C++中运算符 是求余数。

标准库 的函数 也是求余数。

没有发现求模数的方法,知道的告知下。

PHP演示

php version 7.3.0

PHP中运算符 是求余数。

数学函数 也是求余数。

没有发现求模数的方法,知道的告知下。

Go演示

go version 1.11.1

Go中运算符 是求余数。

函数 也是求余数。

函数 用来计算模数,但有时得到的结果有些费解,研究之后再说明。

Python演示

python version 3.7.1

语言中运算符 是求模数。

函数 可以用来计算余数。

JavaScript演示

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181221G008MI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励