脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Lua - Lua中关于求模与求余的区别介绍

Lua中关于求模与求余的区别介绍

2020-04-28 10:14脚本之家 Lua

这篇文章主要介绍了Lua中关于求模与求余的区别介绍,我觉得很多人搞不清楚这两个概念的区别,刚好在翻译lua手册时遇到%与math.fmod这两个操作,顺便做一下说明吧,需要的朋友可以参考下

我觉得很多人搞不清楚这两个概念的区别,刚好在翻译lua手册时遇到%与math.fmod这两个操作,顺便做一下说明吧。

求模与求余的区别。

假设对a与b两个整数做求模或求余操作。那么第一步是先求整数商c,即a / b的值,第二步是计算模或余数:a - c * b。求模与求余的区别在于怎么处理a / b的值。

求模运算时,a / b的结果向无穷小方向舍入,求余运算时a / b的结果向0方向舍入。

因此,求模时结果的符号与b一致,求余时结果的符号与a一致。

Lua中4%(-3)等于-2,由此可以看出lua的%是求模操作而不是求余操作。4/(-3)向无穷小舍入为-2,则模数为4 - (-2 * -3) = -2。

在Lua中math.fmod(4,-3)等于1,因此fmod是求余操作而不是求模操作。4/(-3)向0方向舍入为-1,则余数为4-(-1 * -3)= 1。

很容易可以得出另一个结论:如果a,b都是正整数的话,求模与求余没有区别。

延伸 · 阅读

精彩推荐
  • LuaC语言中调用Lua函数实例

    C语言中调用Lua函数实例

    这篇文章主要介绍了C语言中调用Lua函数实例,本文讲解了调用一个Lua函数的步骤和C语言调用Lua函数实例,需要的朋友可以参考下 ...

    脚本之家9262020-04-27
  • LuaLua中的函数相关知识点整理汇总

    Lua中的函数相关知识点整理汇总

    这篇文章主要介绍了Lua中的函数相关知识点整理汇总,包括函数的参数传递和定义函数等基本知识,需要的朋友可以参考下 ...

    脚本之家2562020-05-03
  • LuaLua教程(八):数据持久化

    Lua教程(八):数据持久化

    这篇文章主要介绍了Lua教程(八):数据持久化,本文讲解了数据文件持久化、序列化两部份内容,需要的朋友可以参考下 ...

    Lua教程网5292020-04-29
  • LuaLua中写排序算法实例(选择排序算法)

    Lua中写排序算法实例(选择排序算法)

    这篇文章主要介绍了Lua中写排序算法实例,本文用一个选择排序算法为例讲解如何在Lua中写一个排序算法,需要的朋友可以参考下 ...

    脚本之家7902020-04-27
  • LuaLua中遍历数组和table的4种方法

    Lua中遍历数组和table的4种方法

    这篇文章主要介绍了Lua中遍历数组和table的4种方法,本文讲解了使用for遍历、迭代器的方式遍历等方法,同时提供一个复杂table的的遍历方法,需要的朋友可以...

    脚本之家23952020-04-26
  • LuaLua学习笔记之数据类型

    Lua学习笔记之数据类型

    这篇文章主要介绍了Lua学习笔记之数据类型,本文同时讲解了开发环境的搭建,需要的朋友可以参考下 ...

    皂荚花4382019-11-17
  • LuaLua中的控制结构(流程控制)简明总结

    Lua中的控制结构(流程控制)简明总结

    这篇文章主要介绍了Lua中的控制结构(流程控制)简明总结,本文讲解了IF、repeat、while、for、break、return等语句,需要的朋友可以参考下 ...

    脚本之家3522020-04-14
  • LuaLua中调用C++函数示例

    Lua中调用C++函数示例

    这篇文章主要介绍了Lua中调用C++函数示例,本文给出的C++函数average()演示了如何接受多个参数且返回超过一个值,需要的朋友可以参考下 ...

    脚本之家3642020-05-06