zoukankan      html  css  js  c++  java
  • lua-设计与实现 1类型

    1. 整形和浮点型都是数值型(number)的子类型(subtype),这意味着你几乎不需要显式地区分整形和浮点型,整形会自动转换为浮点型;包含整数的浮点数也可以自动转化为整形。2. 在加入整形以前,Lua用double存储number类型。由此产生了一系列问题:1) double只有53个有效位,这让按位运算很尴尬(~0究竟是0xffffffff还是-1?);一些算法(加密、编码)和类型(句柄)都需要64位的数据类型;2) 在一些机器(32位etc.)上太大太慢;3) 浮点数作为索引显得很怪,一些库函数(string.sub)其实也要求使用整数;4) 在C API中引发混淆因此整数类型才应运而生。整形和浮点型会自动互相转换,因此整数的引入对于Lua程序员来说几乎是透明的,不必过分担心。不过要注意:除法总是产生浮点数,要使用与C类似的整数除法规则,用整除运算符(//);指数运算符总是产生浮点数(2^3=8.0),这是为了统一正负幂运算。

    链接:https://www.zhihu.com/question/27961728/answer/38934200

  • 相关阅读:
    EOJ二月月赛补题
    cf401d
    cf628d
    cf55d
    HDU 6148 Valley Number
    洛谷 P3413 SAC#1
    洛谷 P4127[AHOI2009]同类分布
    洛谷 P2602 [ZJOI2010]数字计数
    bzoj 3679
    函数和循环闭包的理解
  • 原文地址:https://www.cnblogs.com/Jaysonhome/p/13675520.html
Copyright © 2011-2022 走看看