博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模运算
阅读量:5153 次
发布时间:2019-06-13

本文共 464 字,大约阅读时间需要 1 分钟。

Turbo Pascal对mod的解释是这样的:

  A Mod B=A-(A div B) * B (div含义为整除)

这个定义本身很清晰,问题出在对于整除的理解上。在C/C++语言里,整除都是像0靠拢:这里的逻辑是,比如1 / 2 = 0.5,为了增加机器执行的效率,最

好的方式就是直接把小数部分去掉,得到0。这在1 / -2的时候显得不是很合适,因为仍旧偷懒把小数部分去掉,得到0。而mod运算在C/C++里面也是严格按照

上述公式执行的1 % -2 = 1

接触python之后发现,python语言里,整除都是向负无穷靠拢,这更符合数学上的定义。于是 1 / - 2 = -1, 1 % -2 = -1。python里把这种处理办法叫做所谓的

floor divide,很生动。后续的python更新中将不再采用这种方式,而是使用真正的除法,有需要时直接得到浮点的结果。地板除以//运算符的方式呈现。

转载于:https://www.cnblogs.com/hustxujinkang/p/4230766.html

你可能感兴趣的文章
【Linux】ping命令详解
查看>>
Oracle中包的创建
查看>>
关于PHP会话:session和cookie
查看>>
jQuery on(),live(),trigger()
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
导航,头部,CSS基础
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
面试时被问到的问题
查看>>
注解小结
查看>>
list control控件的一些操作
查看>>
判断字符串在字符串中
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
CSS属性值currentColor
查看>>
Real-Time Rendering 笔记
查看>>