关于lua的math.huge有多大的问题

  • 结论
    • Double占用多少位?为什么不是1024位?
  • 参考
  • Demo
    • 无穷等于无穷
    • math.huge有多大

结论

先上结论:
math.huge返回的是c中的HUGE_VAL。
而c中的HUGE_VAL则为double的最大值。
double的最大值为1.79769e+308。

Double占用多少位?为什么不是1024位?

为什么都说double 占用8bytes,64bit?2的64次方只有1.8446744e+19.
所以,这里HUGE_VAL则为double的最大值其实不对?

其实double真只占64位。
1.79769e+308,是1.79769乘以10的308次方,要复习小学的科学记数法了;最大值等于2的1024次方,但不是占用1024bit / (8bit/byte) =128 bytes哦,是占用64bit=8bytes,因为double是”1位符号位 8位指数位 52位尾数“这样表示的。即如果是精确表示1.79769e+308是要1024位,但是double不是精确表示的,用64位就够了。

参考

C 运行时库 (CRT) 参考 全局常量 HUGE_VAL、_HUGE
云风的Lua 5.3 参考手册
云风的Lua 5.1 参考手册-中文半成品
int float double 最大值,最小值
2的1024次方是多少啊?
简单理解float和double、单精度和双精度
Ps:
Lua 环境安装

window下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载地址为:

本站下载地址:LuaForWindows_v5.1.4-46.exe
Github 下载地址:https://github.com/rjpcomputing/luaforwindows/releases
Google Code下载地址 : https://code.google.com/p/luaforwindows/downloads/list
双击安装后即可在该环境下编写 Lua 程序并运行。

你也可以使用 Lua 官方推荐的方法使用 LuaDist:http://luadist.org/

Demo

搞点demo看看

无穷等于无穷

local a = 1 + math.pow(10, 311)
print(a)
local b = 1 + math.pow(10, 310)
print(b)
if a > b thenprint("a > b")
elseif a == b thenprint ("a == b")
elseprint("a < b")
end

输出为:
INF
INF
a == b

INF为infinite,无穷的。
无穷等于无穷。

math.huge有多大

settimer(0.1, self._time, self, false)
local i = 1
function LoginView:_time()i = i + math.pow(10, 307)print("TCL: i", i)if i < math.huge thensettimer(0.1, self._time, self, false)end
end


可以看到,math.huge差不多就是1.79769E308这么大。

关于lua的math.huge有多大的问题相关推荐

  1. lua 随机数 math.random()和math.randomseed()用法

    用法一:  不给范围,就随机算一个0~1之间的小数: 用法二:给一个参数,就取1~n之间的随机数 用法三:给两个参数,就取m~n之间的随机数 math.randomseed()用法:     由于C中 ...

  2. Python、Lua和Ruby比较——脚本语言大P.K.

    译者按:Python.lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生.在Tom Gutschmidt的著作<Game Programmng w ...

  3. Lua 5.1 参考手册

    Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes 云风 译 www.codingno ...

  4. Cocos2d-x游戏开发之Lua 5.1 参考手册

    Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes 云风 译 www.codingno ...

  5. Lua程序设计 | 字符串、表、函数与IO

    From<Programming in Lua> by Roberto Ierusalimschy 文章目录 字符串 字符串常量 长字符串/多行字符串 强制类型转换 字符串标准库 表 表索 ...

  6. 【游戏客户端与服务器面试题】-- 2022年最新游戏客户端与服务器面试(lua篇持续更新)

    [游戏客户端与服务器面试题干货]-- 2022年度最新游戏客户端面试干货(lua篇) 文章目录 一.Lua的8种数据类型 (1) nil 类型 (2) boolean类型 (3) number类型 1 ...

  7. lua 5.1语法约定

    Lua 5.1参考手册 由罗伯特·Ierusalimschy路易斯Henrique de Figueiredo沃尔德蔡氏 ‚一个版权©2006 A¢A€"2012 Lua.org,银行业者. ...

  8. Programming in Lua 4th(不完全翻译) 第二章

    闭包 Functions in Lua are first-class values with proper lexical scoping 什么意味着"first-class values ...

  9. LUA: lua基础.

    2019独角兽企业重金招聘Python工程师标准>>> nil :它是一个类型且只有一个值nil.它的主要功能是区别于其他任何值.如果对一个全局变量赋值nil等同于删除它. 条件测试 ...

最新文章

  1. 开源ImageFilter库v0.2:新增7类滤镜,支持12种图片效果
  2. 关于小程序云开发的一些经典问题处理
  3. 资深算法工程师万宫玺:Java工程师转型AI的秘密法宝——深度学习框架Deeplearning4j | 分享总结
  4. vue/cli 3.0 font-size随屏幕大小变化而变化 rem设置
  5. POJ - 3714 Raid(平面最近点对模板题,几何)
  6. mysql怎么跳出while循环_mysql while,loop,repeat循环,符合条件跳出循环
  7. vim 高亮显示php代码
  8. python中使用C类型的数组
  9. 由于找不到MSVCR120.dll,无法继续执行代码.重新安装程序可能会解决此问题。
  10. vue-自定义组件传
  11. 29. JavaScript - 测试 jQuery
  12. 无线OSS-高精度整数加法
  13. Visual Studio添加图片资源到exe
  14. spark学习之SparkStreaming
  15. 中国智慧消防产业需求现状及十四五发展趋向分析报告2021-2027年版
  16. wangeditor光标乱跑,回车换行又返回来问题
  17. 免费版网络验证系统的全自动发卡功能
  18. 使用天气api接口调用
  19. CVE PoC的精选列表(三)
  20. Python的学习之旅第一站:基本语法

热门文章

  1. 付费简历修改韭菜实验(附干货)
  2. fstream 对象多次使用时注意clear
  3. vc6.0opengl绘制人物模型_学习游戏建模?游戏人物建模软件都有哪些?
  4. 看统计数据如何颠覆你的网络安全观,2017年第一季度IT威胁及演变
  5. 数据分析之数据清洗(四)
  6. IOS、安卓IM语音聊天开发初探部分心得——网络基础篇
  7. 房贷计算器(java)
  8. 科学计算机坏了怎么办,电脑硬盘坏了怎么办 电脑硬盘损坏解决方法【详解】...
  9. Bulma CSS - 模块化
  10. 【AVD】FFmpeg 音频编码时 SampleFormat 的选择,报错 “Specified sample format s16 is invalid or not supported.“ 的解决