Python中的取模运算
来源:互联网 发布:詹姆斯历年数据 编辑:程序博客网 时间:2024/06/05 06:18
所谓取模运算,就是计算两个数相除之后的余数,符号是%。如a % b就是计算a除以b的余数。用数学语言来描述,就是如果存在整数n和m,其中0 <= m < b,使得a = n * b + m,那么a % b = a - n * b = m.
取模运算的两个操作数都必须是整数,可以是负整数,但是b不可以是0,因为被除数不能为0嘛。
当a和b中存在负整数时,首先计算|a|%|b|=c,然后a%b的符号与b一致。也就是说,如果b>0,则a%b=c;如果b<0,则a%b=-c
比如:
好了,上面是以前我对取模运算的认识,我记得<<C++ Primer>>上也是这么写的。但是,在Python中,我随便输入了一个浮点数进行取模运算,竟然也是可以的,惊呆了==
不过呢,仔细观察就会发现,不知道它是怎么计算的啊!怎么办呢,我们首先来看看,浮点数的取模在数学上要怎么定义呢?
浮点数取模的数学定义:对于两个浮点数a和b,a % b = a - n * b,其中n为不超过a / b的最大整数。
例如,
3.5 / 2 = 1.75,取n = 1,则3.5 % 2 = 3.5 - 1 * 2 = 1.5
-3.5 / 2 = -1.75,取n = -2,则-3.5 % 2 = -3.5 - (-2) * 2 = 0.5
3.5 / -2.5 = -1.4,取n = -2,则3.5 % -2.5 = 3.5 - (-2) * (-2.5) = -1.5
另外,C++中有一个函数fmod可以用来计算浮点数的取模。
总结:
取模运算的两个操作数a和b可以是整数,也可以是浮点数;可以是正数,零(b不能为0),也可以是负数。不管是整数还是浮点数,是正数还是负数还是零,只需要抓住取模的数学定义即可。统一的数学定义如下:
对于两个数a和b(b不为0),a % b = a - n * b,其中n为不超过a / b的最大整数(这里的除就是正常的除,不是整除)。
需要注意的是,整数的取模运算的定义和浮点数的是一样的,所以计算方法也是一样的。最前面提供的整数取模的方法,其实本质上跟浮点数取模的方法是一致的,只不过这种方法可能在含有负整数的整数取模中比较方便而已。
- Python中的取模运算
- Python取模运算
- java中的取模运算
- Java中的取模运算
- Java中的取余运算和取模运算
- python学习之--取模运算
- C#和Access中的取模运算
- C语言中的取模(%)运算
- 关于c++中的取模运算
- 关于编程语言中的取模运算
- c及c++中的取模运算
- java中的%运算符是取余还是取模?
- python源码中的取模
- python中的%(模)运算
- ActionScript中的取整运算
- python中的除法和取模
- Python中的除法和取模
- python中的除法和取模
- bfs 数组模拟栈的使用
- 云计算仿真工具CloudSim介绍和使用
- 机器学习中的常用激活函数
- SSM框架搭建(SpringMVC+Spring+Mybatis)
- poj 2718 Smallest Difference
- Python中的取模运算
- MFC与.net比较
- IO流——BufferedWriter和BufferedReader
- 6.序列!序列!
- UE4_VR传送
- Spring-Boot + Swagger2 自动生成API接口文档
- AIO入门实例
- css样式整体设置
- HTML5_CSS入门(尺寸大小、颜色单位、溢出、哪些元素可以设置尺寸、边框,边框倒角、边框阴影,轮廓)