Home  >  Q&A  >  body text

php - 关于函数`mt_getrandmax`的用途,有些疑惑,大家指教一下

mt_getrandmax

mt_getrandmax — 显示随机数的最大可能值

int mt_getrandmax ( void )
返回调用 mt_rand() 所能返回的最大的随机数。

我输出出来的是2147483647 ,看到项目中有人在对数据库操作中,最大limit这里用了这个函数,有点不理解它这个最大是指的什么最大

怪我咯怪我咯2727 days ago674

reply all(2)I'll reply

  • 阿神

    阿神2017-04-11 10:14:07

    系统一般会有最大能产生的随机数值LIMIT_RAND_MAX,比如2^31-1,而mt_getrandmax()返回的就是系统默认的这个值。使用情境应该是这样的:

    1、使用mt_getrandmax()函数获取系统能产生的最大随机数值LIMIT_RAND_MAX
    2、根据LIMIT_RAND_MAX来判定自己所需的随机数是否在这个范围
    3、使用mt_rand()产生随机数

    总的来说,mt_getrandmax()仅仅是用来做范围衡量作用

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-11 10:14:07

    会输出 2147483647 就是 2的31次方减一

    2147483647
    2,147,483,647(二十一亿四千七百四十八万三千六百四十七)是2147483646与2147483648之间的自然数,也是欧拉在1772年所发现的一个梅森素数,它等于2-1,是32位操作系统中最大的符号型整型常量

    在32位操作系统中,由于是二进制,其能最大存储的数据是1111111111111111111111111111111。正因为此,体现在windows或其他可视系统中的十进制应该为2147483647。

    reply
    0
  • Cancelreply