当前位置:  开发笔记 > 编程语言 > 正文

在PostScript中生成间隔中的随机数

如何解决《在PostScript中生成间隔中的随机数》经验,为你挑选了1个好方法。

我很难找到一种在PostScript中在给定间隔内生成随机数的方法.

基本上PostScript有三个功能可以帮助您生成(伪)随机数.那些是rand,srandrrand.

后两个用于将种子传递给数字生成器以便能够再现特定结果.至少这是我所理解的.无论如何,他们似乎不适合我的情况.

所以rand似乎是我可以用来生成随机数的唯一函数,但......

rand返回0到2 31 - 1 范围内的随机整数
(来自PostScript语言参考,第637页(PDF中的651))

这远远超出了我正在寻找的时间间隔.我更感兴趣的是数千,可能是10.000或类似的值和小浮点值,最多100,所有下限为0.

我以为我可以通过简单的划分缩小我的数字并提取根,但这往往会在很多情况下给我不可用的小值.我想知道是否有强大的方法可以将大量数据缩减到我需要的数量,或者我更喜欢这样,只在所需的时间间隔内生成数字.

此外:在PostScript中不能使用while循环,否则我会编写一个函数来生成数字,直到它们适合我的间隔.

关于如何在我的间隔中查找数字的任何提示?



1> luser droog..:

mod通常很好而且速度很快.但是,通过使用浮点运算,您可以获得更均匀的分布.

rand 16#7fffffff div 100 mul cvi

这是因为mod丢弃了输入的高位.并且PRNG通常试图随机化所有比特.通过向下缩小然后向上缩小,它们都会在舍入效果方面做出贡献.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有