玖叶教程网

前端编程开发入门

lua math.ult使用

math.ult介绍

math.ult用于以无符号形式比较两个参数的大小,假如lua中整形用long表示,则math.ult(a, b)实际等价于(unsigned long)a < (unsigned long)b。

由于运算是先转换为无符号再比较大小,所以与直接比较大小在某些情况下结果是不一样的,比如有负数时。

math.ult使用

有以下代码:

local a = math.mininteger
local b = math.maxinteger
print(string.format("a = %d, b = %d", a, b))
print(string.format("a < b is %s", a < b))
print(string.format("math.ult(a, b) is %s", math.ult(a, b)))

输出如下:

a = -9223372036854775808, b = 9223372036854775807
a < b is true
math.ult(a, b) is false

可见当有负数时用math.ult比较大小可能与直接比较大小得到的结果是不同的。

math.ult总结

math.ult用于以无符号比较两个数值大小,当有负数时比较的结果与直接比较得到的结果可能是不同的。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言