C++ STL 中的确定性随机数流

2023-12-19

我想提供一个数字,然后收到一组随机数。但是,我希望这些数字是相同的,无论我在哪台计算机上运行它(假设我提供相同的种子)。

基本上我的问题是:在 C++ 中,如果我使用rand(),但供应srand()使用用户定义的种子而不是当前时间,我是否能够在任何计算机上生成相同的随机数流?


有几十个PRNG http://en.wikipedia.org/wiki/Pseudorandom%5Fnumber%5Fgenerator可以作为库使用。选一个。我倾向于使用梅森扭转者 http://en.wikipedia.org/wiki/Mersenne_twister.

通过使用外部提供的库,您可以避免语言库实现奇怪或有错误的风险rand()。只要您的平台都符合相同的数学语义,您就会得到一致的结果。

MT 是我的最爱,因为我是一名物理学家,我将这些东西用于蒙特卡洛,其中保证高维度的均匀分布非常重要。但不要将 MT 用作加密 PRNG!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ STL 中的确定性随机数流 的相关文章

  • 使用 Unity 在构造函数中使用属性依赖注入

    好的 我在基类中定义了一个依赖属性 我尝试在其派生类的构造函数内部使用它 但这不起作用 该属性显示为 null Unity 在使用 container Resolve 解析实例后解析依赖属性 我的另一种选择是将 IUnityContaine
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • 为 Visual Studio 2013 编译 Tesseract

    我正在尝试使用tesseract在 Visual Studio 2013 中 我在链接器 gt 输入 不是 libtesseract302 static lib 中使用 libtesseract302 lib 一切都正常 并且已编译并运行
  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 将 Excel 导入到 Datagridview

    我使用此代码打开 Excel 文件并将其保存在 DataGridView 中 string name Items string constr Provider Microsoft Jet OLEDB 4 0 Data Source Dial
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 如何编写一个同时需要请求和响应Dtos的ServiceStack插件

    我需要提供本地化数据服务 所有本地化的响应 Dto 都共享相同的属性 IE 我定义了一个接口 ILocalizedDto 来标记那些 Dto 在请求端 有一个ILocalizedRequest对于需要本地化的请求 Using IPlugin
  • HttpWebRequest 在第二次调用时超时

    为什么以下代码在第二次 及后续 运行时超时 代码挂在 using Stream objStream request GetResponse GetResponseStream 然后引发 WebException 表示请求已超时 我已经尝试过
  • (de)从 CSV 序列化为对象(或者最好是类型对象的列表)

    我是一名 C 程序员 试图学习 C 似乎有一些内置的对象序列化 但我在这里有点不知所措 我被要求将测试数据从 CSV 文件加载到对象集合中 CSV 比 xml 更受青睐 因为它更简单且更易于人类阅读 我们正在创建测试数据来运行单元测试 该集
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 如何将 Roslyn 语义模型返回的类型符号名称与 Mono.Cecil 返回的类型符号名称相匹配?

    我有以下代码 var paramDeclType m semanticModel GetTypeInfo paramDecl Type Type Where paramDeclType ToString returns System Col
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大

随机推荐

  • Android SDK (Nexus 5X API28 x86) 在准备安装时停止

    我最近选择了 Android SDK 并尝试配置 SDK 来测试程序 并可能进行一些基本的 Java 应用程序编程 我的问题是它显然无法完成其设置 除了冻结之外 开始按钮呈灰色 并且我无法访问 Google Play 商店 我确实可以访问
  • git push origin master 拒绝用户 X,其中 x 不是本地 git 配置中的用户

    以此开头我对 git 和 github 很陌生 我以用户 zzz 在 github 上设置了一个存储库 并且它正确地列在我的本地 特定于存储库的 git 配置文件中 当我这样做时 该文件具有如下所示的条目 git config local
  • Go 为什么没有 stackoverflows

    我在这个演示文稿中读到http golang org doc ExpressivenessOfGo pdf http golang org doc ExpressivenessOfGo pdf第 42 页 Safe 没有堆栈溢出 这怎么可能
  • 为什么 setTimeout(.., 0) 不立即执行?

    var timeout setTimeout function console log I m message from timeout 0 console log I m message from outside timeout 1 I
  • 字节比布尔[8]更有效[重复]

    这个问题在这里已经有答案了 如果我在一个类中需要 8 个布尔成员变量 Java 是否可以有效地将它们全部放在一个字节中 或者它会为每个使用一个字节吗 换句话说 内存占用是否不同 boolean a boolean b boolean c b
  • Pandas 从组中获取列的第一个和最后一个值

    嗨 我有dataframe包含同一 ID 的多行 其中一列是日期 按升序排列 我想计算第一个条目和最后一个条目之间的日期差 我通过实例化 pandas 构造函数来实现此目的 如下所示 g df groupby ID print pd Dat
  • CKEditor 按键事件未正确更新文本

    我有以下代码 当用户在 CKEditor 文本区域内键入内容时 自动更新 div 内的内容 CKEDITOR instances editor on key function e var preview document getElemen
  • C++矢量源代码

    我正在尝试获取向量源代码以了解标准 std 或 stl 向量是如何实现的 这是出于学习目的 现在的问题是我在哪里可以找到源代码 甚至其他 C 容器的源代码也有帮助 不存在 标准 向量 标准定义了行为和接口 以及一些实现细节 例如连续存储 但
  • DataType 属性破坏日期时间字段上的 jQuery 日期选择器

    我在用MVC 4 and 剃刀视图我无法理解为什么我的日期字段上的编辑视图没有正确绑定到内置 jQuery 日期选择器 该字段是数据类型Date在数据库中 以及DateTime在域模型中 我不想显示时间 只想显示日期 该字段是必填字段 需要
  • 透明度实际上是如何实现的?

    给定两个图像 A B 我想要第三个图像 C 就好像 B 的透明度为 t 0 5 并放置在 A 的顶部 现实中C是如何计算的以及n如何影响它 我对任何程序或伪代码都不感兴趣 我只想知道基本原理 我认为 C 的一种方式只不过是 A 和 B 的交
  • ImportError:colab google 中没有名为 object_detection.builders 的模块

    我运行时出现此错误 cd git clone quiet https github com tensorflow models git apt get install qq protobuf compiler python tk pip i
  • 为什么不为 Rspec + Selenium 使用共享 ActiveRecord 连接?

    处理 Selenium 和测试的最普遍接受的方法似乎是避免使用事务固定装置 然后在测试 场景之间使用诸如 database cleaner 之类的东西 我最近遇到了以下情况article http blog plataformatec co
  • 为什么 Eclipse 的 Egit 中 Commit 是灰色的

    EGit 中的提交按钮神秘地变灰了 几天前还运行得很好 有谁知道如何解决这一问题 我在谷歌上没有找到任何线索 我会附上屏幕截图 但我还没有足够的声誉点 我遇到了这个问题 发现在远程获取和合并后我有未暂存的更改 将未暂存的更改移至 Git S
  • null 不是对象(评估“ShareDialog.canShow”)

    我有这样的代码 import React Component from react import AppRegistry StyleSheet Text TouchableHighlight View from react native i
  • Sitecore Field Renderer - 在渲染内添加标记

    作为 SEO 增强项目的一部分 我的任务是在字段渲染器在页面上生成的图像的标记内添加以下属性 itemprop contentURL 在结束标签之前
  • 如何将PIL Image.image对象转换为base64字符串? [复制]

    这个问题在这里已经有答案了 我正在尝试以 90 度旋转的方式操作 Base64 编码的图像 经过此操作 我想将其转换回 Base64 字符串 但不幸的是还无法实现这一目标 这是我到目前为止所做的 image string StringIO
  • Android:从服务调用片段方法

    运行 Firebase Cloud 消息服务 我希望每次收到新消息时都会调用特定片段中的方法 public class FirebaseMsgService extends FirebaseMessagingService public F
  • 在sql中以管道分隔的列中搜索值

    我想搜索列中以管道分隔的值 见下文 Column1 1 1 2 23 2 6 6 12 我想在所有行中搜索 2 这样它将返回下面的行 Column1 1 2 23 2 谁能告诉我我们怎样才能实现这一目标 您可以使用like where co
  • 如何更改 Xamarin 表单中的密码屏蔽字符 - 条目

    我目前面临一个相当简单的问题 最终使我陷入了死胡同 我正在构建一个使用 Xamarin Forms 的应用程序 并希望在用户输入密码时将掩码字符从项目符号更改为星号 为了输入密码 我在内容页面的可移植库项目中使用条目控件 在 VS2017
  • C++ STL 中的确定性随机数流

    我想提供一个数字 然后收到一组随机数 但是 我希望这些数字是相同的 无论我在哪台计算机上运行它 假设我提供相同的种子 基本上我的问题是 在 C 中 如果我使用rand 但供应srand 使用用户定义的种子而不是当前时间 我是否能够在任何计算