lua取模两种方法的区别

最近发现lua取模的两种方法,结果会不同,在此记录一下。


方法一:a%b

计算公式

                ​​​​​​​        result = a - F(a/b)*b

其中,

F(x) = math.floor(x) , eg: F(1.5) = 1, F(-0.5) = -1

> 2%3
2
> -2%3
1
> 2%-3
-1
> 2%(-3)
-1
> -2%(-3)
-2
> (-2)%(-3)
-2

方法二:math.fmod( a,b)

计算公式

                         result = a - F(a/b)*b

其中, 

F(x) = \begin{cases} math.floor(x) & \text{ if } x>0, eg: F(1.5) = 1 \\ math.ceil(x) & \text{ if } x<0, eg: F(-1.5) = -1 \end{cases}

> math.fmod(2,3)
2
> math.fmod(-2,3)
-2
> math.fmod(-2,-3)
-2
> math.fmod(2,-3)
2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值