随机真假生成器:True/False 随机序列在线生成

随机真假生成器用固定种子的伪随机算法生成可复核的 True/False 序列,支持自定义数量与真比例,结果一键复制,并可导出 CSV 或复制 TSV。所有计算都在浏览器本地完成,不联网也不上传。

上方已带默认示例(数量 10、真比例 50%、种子 5551234),按回车即可重算;同一种子永远得到同一串结果,方便复核与分享。下方真比例对照表共 14 行,点「加载更多」看全表,可导出 CSV(带 BOM)或复制 TSV。

使用方法

  1. 打开页面默认就带示例:数量 10、真比例 50%、种子 5551234,结果区已显示十个 True/False,你不需要先输入任何东西。
  2. 改「生成数量」决定要几个结果;改「真比例」控制 True 出现的百分比倾向;改「随机种子」切换不同的确定序列。
  3. 在任意输入框里按回车也能立即重算;点「复制结果」把整串 True/False 复制到剪贴板。
  4. 点「导出 CSV」把序列存成带 BOM 的文件,或点「复制对照表」复制下方真比例对照表的制表符文本。
  5. 本页不联网、不写本地存储,刷新即回到默认示例,所有计算都在你自己的浏览器里完成,输入内容不会离开设备。
  6. 本工具给出的序列是概率性结果,真比例越高,True 出现越多,但具体每次由种子决定,可复算不可预测。

这个 随机真假生成器能解决什么

很多场景需要一个「看起来随机、又能复现」的真假判定:教学里演示伯努利试验、抽奖环节做公平的命中与否、或者调试代码时造一批确定性的布尔数据。这个随机真假生成器用固定种子算法解决的就是「可复核的随机布尔」这一需求。

第一类用途是随机判定与抽奖。游戏里决定是否命中、活动里随机发奖,用本工具给定种子,主办方公布种子后参与者可以自己复算,确保没有暗箱操作,公信力更强。

第二类用途是教学与统计演示。讲概率、二项分布时,用本工具批量造 True/False 序列,学生能对照真比例观察频率,直观理解「大数定律」。

第三类用途是程序测试与占位数据。开发需要布尔字段的表单、开关逻辑时,先用本工具批量造一批确定性 True/False 做联调,比手写死数据更省事,上线前再换成真实逻辑。

第四类用途是头脑风暴与决策辅助。当团队要随机选「做 / 不做」时,本工具一键给出序列,省去抛硬币或抽签的麻烦,且结果可记录种子反复使用。

需要强调的是,随机真假生成器 的所有生成都在本地完成,不联网也不上传。你可以把种子和结果放心分享给别人复核,过程中没有任何数据离开你的设备。此外,由于序列完全由种子决定,你还能把一组「数量、真比例、种子」作为参数存档,下次想复现场景时直接填入即可,不必重新随机,这在需要可重复实验的课堂演示里尤其好用。正因为结果可复算,它也适合做随机化的 A/B 分配:先用本工具产出一组布尔标记,再按标记把样本分到两组,整个过程留痕可查,比口头抛硬币更严谨,也便于事后向他人证明分组没有被人为操控。

原理和变量

本工具采用与方向生成器一致的线性同余式:每一轮先把种子更新为 s = (Math.imul(s, 1103515245) + 12345) & 0x7fffffff,再把得到的 s 除以 2147483647 得到一个 0 到 1 之间的小数 r。若 r 小于「真比例 / 100」则判为 True,否则为 False。因为每一步只依赖前一步的 s,所以给定初始种子,整条序列完全确定。

真比例只是概率倾向,不是硬性配额:真比例 50% 表示每次有约一半概率得 True,长序列里 True 占比会趋近 50%,但短序列可能出现偏差,这是随机的正常表现。值得注意的是,固定种子算法保证的是「可复现」而非「不可预测」,也就是说任何拿到种子的人都能重跑出同一串结果;如果你需要不可预测的保密场景,应当改用真随机源或每次更换种子,而不是依赖同一固定种子。这也提醒我们,真比例只是概率倾向,观察长序列的 True 占比才更接近设定值,单看几个结果就下结论容易误判。下面变量表说明各环节含义。

变量含义说明
seed随机种子初始整数,决定整条序列
s当前状态每轮线性同余更新
r随机小数s / 2147483647,0 到 1
ratio真比例0 到 100,阈值 = ratio/100
bool判定结果r < ratio/100 为 True

完整示例

下面这组示例全部由页面算法原样得出,可直接对照你的手算。数量 10、真比例 50%、种子 5551234:第一轮 s 更新后得到小数 r,若 r 小于 0.5 记 True,否则 False,依次得到 True、True、True、False、False、True、False、True、True、True,与上方结果区、下方对照表完全自洽。

如果你想验证手算,把种子代入 s=(s*1103515245+12345)&0x7fffffff,再算 r=s/2147483647,比较 r 与 0.5 大小决定 True/False,逐步做完必然和本工具一致。这套方法是你在不支持本页的环境里手动复现结果的可靠办法。

输入
数量=10 真比例=50%
种子=5551234
输出
True True True
False False True
False True True True
核心公式
s=(s*1103515245+12345)&0x7fffffff
r < ratio/100 ? True : False

真比例期望对照表

下表列出不同「数量 × 真比例」下的期望 True 数量(共 14 行,前 12 行直接展示,点「加载更多」展开剩余项)。期望值为 数量 × 真比例 / 100 四舍五入,仅供参考;实际序列由种子决定,可能略有偏差。

数量真比例(%)期望 True 数说明
1000全部为 False
10101约 1 个 True
10202约 2 个 True
10303约 3 个 True
10404约 4 个 True
10505约一半 True
10606约 6 个 True
10707约 7 个 True
10808约 8 个 True
10909约 9 个 True
1010010全部为 True
205010两倍数量半数
505025大样本半数
1005050大样本半数

结果边界与错误提示

常见问题

为什么同一个种子每次结果都一样?

因为本工具使用固定种子的线性同余算法,序列完全由初始种子决定,所以相同种子必然产出相同 True/False 序列。这正是「可复核随机」的设计目的,方便你分享种子让别人验证。

真比例 50% 为什么不是正好 5 个 True?

真比例只是每次抽取的概率,不是硬性配额。数量 10、比例 50% 的期望是 5 个 True,但单次序列可能出现 4 或 6 个,这是随机的正常表现;数量越大越接近比例。

真比例是硬性配额吗?

不是。本工具按概率判定每一次,长序列里 True 占比会趋近真比例,但任意短序列都不保证精确配额,若你需要严格配额请改用分段采样方案。

能不能导出成 Excel 能打开的文件?

可以。点「导出 CSV」会生成带 BOM 的 CSV,Excel 直接双击就能正确显示;点「复制对照表」则复制制表符分隔文本,粘进表格软件自动分列。

我想换一组不同的序列怎么办?

直接修改「随机种子」为一个新整数再生成即可;种子不同,整条序列就不同。你也可以调大「生成数量」一次性拿更多结果。

导出的 CSV 为什么带 BOM?

因为 Excel 打开无 BOM 的 UTF-8 文件时常把中文显示成乱码,BOM 能让 Excel 正确识别编码。TSV 复制走剪贴板不经文件,所以不需要 BOM。

我的种子和结果会上传吗?

不会。所有生成计算在浏览器本地进行,不联网、不写存储,刷新即还原默认示例,没有任何数据离开你的设备,可以放心使用。

为什么结果区和示例不一致?

请确认数量、真比例与种子都和示例一致;任一不同都会得到不同的序列。保持数量 10、真比例 50、种子 5551234,结果必然是 True True True False False True False True True True。

相关工具