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

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

问题

对负数进行模除运算遇到的坑,Lua的%运算与C++的%有差异

实践

 

结论

Lua%运算的基本公式

a % b = a - ( ( a // b ) * b )

1.在C,C++中 %运算符的取整是舍弃小数部分的截断取整

-7 % 4 == -37 % (-4) == 3

2.而在Lua中 ,%运算符是向负无穷取整

-7 % 4 == 1      // -7 - ( ( -7 // 4) * 4 ) = -7 - (-2 * 4) = 17 % (-4) == -1   //  7 - ( ( 7 // -4) * -4 ) = 7 - (-2 * -4) = -1

 

3.Lua中若要得到与C++一样的运算结果应使用

math.fmod(-7,4)math.fmod(7,-4)

  

转载于:https://www.cnblogs.com/0kk470/p/11482992.html

你可能感兴趣的文章
响应者链
查看>>
指针从函数内部带回返回值
查看>>
在使用webView播放flash或视频文件时无法关闭声音的问题
查看>>
redhat 7 源码安装 mysql5.5.49
查看>>
CCP浅谈
查看>>
NAT虚拟网络配置
查看>>
c#部分---需要实例化的内容;
查看>>
技术项目,问题
查看>>
线程池总结
查看>>
Learning to rank (software, datasets)
查看>>
git常见问题
查看>>
.NETFramework:template
查看>>
HM16.0之帧内模式——xCheckRDCostIntra()函数
查看>>
Jmeter性能测试 入门
查看>>
安卓动画有哪几种?他们的区别?
查看>>
Nodejs学习总结 -Express入门(一)
查看>>
ssh 连接原理及ssh-keygen
查看>>
vs2013编译qt程序后中文出现乱码
查看>>
【转】IOS数据库操作SQLite3使用详解
查看>>
Android官方技术文档翻译——ApplicationId 与 PackageName
查看>>