包含范围内的随机浮点双精度

2024-04-11

我们可以很容易地得到所需范围内的随机浮点数[X,Y)(请注意,X 是包含在内的,Y 是不包含的),具有下面列出的函数,因为Math.random()(和大多数伪随机数生成器,AFAIK)产生数字[0,1):

function randomInRange(min, max) {
  return Math.random() * (max-min) + min;
}
// Notice that we can get "min" exactly but never "max".

我们怎样才能得到一个想要的范围内的随机数包括的到两个边界,即[X,Y]?

我想我们可以“增加”我们的价值Math.random()(或等效)通过“滚动”的位IEEE-754 浮点双精度 http://en.wikipedia.org/wiki/IEEE_754-2008将最大可能值精确地设置为 1.0,但这似乎很难做到正确,尤其是在不太适合位操作的语言中。有更容易的方法吗?

(顺便说一句,为什么随机数生成器产生的数字是[0,1)代替[0,1]?)

[Edit]请注意,我没有need为此,我充分意识到这种区别是迂腐的。只是好奇并希望得到一些有趣的答案。如果这个问题不合适,请随意投票结束。


我相信有更好的决定,但这个应该可行:)

function randomInRange(min, max) {
  return Math.random() < 0.5 ? ((1-Math.random()) * (max-min) + min) : (Math.random() * (max-min) + min);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

包含范围内的随机浮点双精度 的相关文章

随机推荐

  • CSS:可以将 Webkit 滚动条“推”到内容中吗?

    通常滚动条的位置如下 content scrollbar 我基本上希望在 自定义 滚动条和可
  • 在 iOS 中以编程方式清空缓存

    有谁巧合地知道我如何清空我正在开发的iOS应用程序的缓存内存 在它进入后台 applicationDidEnterBackground 的那一刻 我已经调查了 NSCache 但我仍然无法理解如何检索缓存以基本上删除 释放它 你说的是这个吗
  • powerpoint vba将某些幻灯片导出为pdf

    我试图在调用此函数时将选定的幻灯片导出为 pdf 这段代码运行得非常好 但给我的是整个幻灯片的 PDF 格式 Sub Export to PDF ActivePresentation ExportAsFixedFormat ActivePr
  • 最小购物车金额(WooCommerce 中的特定产品除外)

    我只允许在我的网站上进行最低价值 15 欧元的订单 但希望对一种产品进行例外处理 如果有人知道如何在这方面帮助我 我将非常感激 最小订单值的编码如下 有人知道我如何调整它以通过产品 ID 排除一种产品吗 add action woocomm
  • 内存中的方法表示是什么?

    在思考一下 Java C 编程时 我想知道属于对象的方法如何在内存中表示 以及这一事实如何涉及多线程 是为内存中的每个对象单独实例化一个方法还是执行 同一类型的所有对象共享该方法的一个实例 如果是后者 执行线程如何知道哪个对象是 要使用的属
  • PHP 发送的 ZIP 存档已损坏

    我正在使用 php ZipArchive 即时创建 zip 文件并将其发送回用户 我将压缩文件暂时存储在文档根目录上方的文件夹中 然后将其与代码一起发回 header Content type application zip header
  • 何时使用 $ 何时不使用

    我使用以下变量选择了一个控件 var txt text1 现在 当我必须处理文本框上的事件时 我是否必须将其引用为 txt 或 txt 即可 txt keydown function or txt keydown function 有什么好
  • 为什么 File::isDirectory 作为 FileFilter 可以正常工作?

    Why 文件 是目录在下面的示例中 作为 FileFilter 工作正常吗 File files new File listFiles File isDirectory listFiles方法需要一个FileFilter作为参数 publi
  • Android ActionBar 重新创建选项菜单

    在Android中使用ActionBar时 如何刷新选项菜单 我尝试隐藏和显示该栏 并使用 getSupportActionBar 获取它的新实例 我正在尝试实现一个登录 注销按钮 该按钮将根据用户的状态动态更改 这是我的 onCreate
  • Google Big-query api 403-禁止异常

    当我使用 Big Query API 的 java 应用程序执行查询时 出现以下 JSON 异常 以下是我得到的异常 error errors domain global reason accessDenied message Access
  • 使用 regexp_substr 选择逗号之间的单词(不包括双引号)

    我试图从逗号分隔列表中返回字符串列表 但是 我仍然想返回字符串中出现在双引号之间的逗号 这是我目前的声明 SELECT regexp substr one two three four five six seven eight nine n
  • Jquery Draggables:删除元素会更改其他删除元素的位置

    当放置 放置元素 通过从一个 DIV 拖动到另一个 DIV 然后删除放置的 DIV 中的一个元素时 其中一些元素会更改位置 这是一个测试场景 http jsfiddle net TcYHW 8 http jsfiddle net TcYHW
  • 你已经从颠覆转向善变了吗?值得付出努力吗?

    我正在更好地了解 Mercurial 版本控制系统 并且正在考虑从 SVN 进行转换 有人已经转换了吗 对于您和您的团队来说 转变是否困难 您能否给出一些建议 是继续使用 SVN 还是选择 Mercurial 一旦开始 你就永远不想回去 优
  • Gnuplot脚本创建后消失

    我有一个 gnuplot 脚本 我的系统是ubuntu 14 04 当我在终端输入gnuplot myPlot 剧情将会消失 它不会保留在屏幕上 我在这个堆栈中看到了类似的question https stackoverflow com q
  • 如何在更新宏变量的数据步骤中调用宏并立即使用该值?

    下面的例子非常简单 可能可以用更简单的方式解决 不过 我有兴趣让它发挥作用 以下示例基于 sashelp library 的 cars dataset 首先 我有一个名为 fun 的宏 proc contents data sashelp
  • 如何在 Jinja 中对齐 Pandas DataFrame 列号文本

    我通过 Jinja 将 Pandas Dataframe 渲染到网页 但注意到数字列左对齐 当我尝试在特定列上应用下面的代码以右对齐并加载网页时 df df style set properties subset col1 col2 tex
  • 使用 pickle 反序列化大型 numpy 数组比使用 numpy 慢几个数量级

    我正在反序列化大型 numpy 数组 本例中为 500MB 我发现不同方法的结果存在数量级差异 以下是我计时的 3 种方法 我正在接收来自multiprocessing shared memory包 所以数据作为一个memoryview目的
  • 对通过 OpenXML 与 Microsoft Word 通信的应用程序进行单元测试

    我正在修改一个与 Microsoft Word 进行大量 对话 的应用程序 现在 使用 COM 互操作 但我需要将其更改为 Open XML 我想为此引入单元测试 但我不知道如何做到这一点 这是例如操作之一 模板word文档包含一些书签 该
  • Swiftmailer 配置:使用 gmail 发送邮件

    我可以使用 swiftmailer 从我的电脑发送电子邮件 但邮件未在服务器中发送 我正在使用 swiftmailer 5 0 1 项目详细信息是 Netbeans 中的一个简单的 php 项目 迅捷邮递员 5 0 1 树枝1 13 1 我
  • 包含范围内的随机浮点双精度

    我们可以很容易地得到所需范围内的随机浮点数 X Y 请注意 X 是包含在内的 Y 是不包含的 具有下面列出的函数 因为Math random 和大多数伪随机数生成器 AFAIK 产生数字 0 1 function randomInRange