设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 5720|回复: 7
收起左侧

真随机数生成模块源码第2版

[复制链接]
发表于 2018-6-18 12:37:51 | 显示全部楼层 |阅读模式

  1. .版本 2
  2. .支持库 spec

  3. .程序集 程序集1
  4. .程序集变量 二进制1的数量表, 字节型, , "256"

  5. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  6. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  7. 返回 (0)  ' 可以根据您的需要返回任意数值

  8. .子程序 _临时子程序

  9. 调试输出 (取真随机字节集序列 ())


  10. .子程序 取实际延时时间, 整数型
  11. .局部变量 时间, 整数型

  12. 时间 = 取启动时间 ()
  13. 延时 (1)


  14. 返回 (取启动时间 () - 时间)

  15. .子程序 逻辑型数组到字节集, 字节集
  16. .参数 逻辑型数组, 逻辑型, 数组
  17. .局部变量 逻辑组长度, 整数型
  18. .局部变量 字节集数据, 字节集
  19. .局部变量 字节集长度, 整数型
  20. .局部变量 计数, 整数型
  21. .局部变量 移位计数, 整数型
  22. .局部变量 逻辑计数, 整数型

  23. 逻辑组长度 = 取数组成员数 (逻辑型数组)
  24. .如果真 (逻辑组长度 % 8 ≠ 0)
  25.     输出调试文本 (“数组成员数必须是8的倍数才可以导出字节集数据。”)
  26.     返回 ({  })
  27. .如果真结束
  28. 字节集数据 = 取空白字节集 (逻辑组长度 ÷ 8)
  29. 字节集长度 = 取字节集长度 (字节集数据)
  30. .计次循环首 (字节集长度, 计数)
  31.     .变量循环首 (7, 0, -1, 移位计数)
  32.         .如果真 (逻辑型数组 [逻辑计数 + 1] = 真)
  33.             字节集数据 [计数] = 位或 (左移 (1, 移位计数), 字节集数据 [计数])
  34.         .如果真结束
  35.         逻辑计数 = 逻辑计数 + 1
  36.     .变量循环尾 ()
  37. .计次循环尾 ()
  38. 返回 (字节集数据)


  39. .子程序 取真随机字节集序列, 字节集, 公开
  40. .局部变量 计数, 整数型
  41. .局部变量 逻辑数组, 逻辑型, , "8,256"
  42. .局部变量 逻辑数组2, 逻辑型, , "256,8"
  43. .局部变量 移位计数, 整数型
  44. .局部变量 移位值, 整数型
  45. .局部变量 字节集, 字节集
  46. .局部变量 字节集2, 字节集
  47. .局部变量 字节集3, 字节集
  48. .局部变量 整数数组, 整数型, , "0"
  49. .局部变量 结果, 整数型
  50. .局部变量 值, 整数型


  51. .变量循环首 (0, 255, 1, 计数)
  52.     结果 = 0
  53.     .变量循环首 (0, 7, 1, 移位计数)
  54.         .如果真 (位与 (左移 (1, 移位计数), 计数) ≠ 0)
  55.             结果 = 结果 + 1
  56.         .如果真结束

  57.     .变量循环尾 ()
  58.     二进制1的数量表 [计数 + 1] = 结果
  59. .变量循环尾 ()
  60. 字节集3 = 取空白字节集 (256)
  61. .计次循环首 (256, 计数)
  62.     值 = 取实际延时时间 ()

  63.     字节集3 [计数] = 值
  64.     .变量循环首 (1, 8, 1, 移位计数)
  65.         移位值 = 左移 (1, 移位计数 - 1)
  66.         逻辑数组 [移位计数] [计数] = 位与 (值, 移位值) = 移位值
  67.         逻辑数组2 [计数] [移位计数] = 位与 (值, 移位值) = 移位值

  68.     .变量循环尾 ()
  69. .计次循环尾 ()
  70. 字节集 = 逻辑型数组到字节集 (逻辑数组)
  71. 字节集2 = 逻辑型数组到字节集 (逻辑数组2)
  72. .计次循环首 (256, 计数)
  73.     字节集 [计数] = H (F (循环右移 (字节集 [计数]), 循环左移 (字节集2 [计数]), 字节高低位颠倒 (字节集3 [计数])), G (字节高低位颠倒 (计数 - 1), 字节集 [循环右移 (字节集2 [循环左移 (计数 - 1) + 1]) + 1], 字节集2 [循环左移 (字节集3 [循环右移 (计数 - 1) + 1]) + 1]), I (字节集3 [半字节交换 (字节集 [字节高低位颠倒 (计数 - 1) + 1]) + 1], 计数 - 1, 右移 (取启动时间 (), 8 + 获取二进制位1的数量 (计数 - 1))))
  74. .计次循环尾 ()
  75. 返回 (字节集)


  76. .子程序 获取二进制位1的数量, 字节型
  77. .参数 值, 字节型

  78. 返回 (二进制1的数量表 [值 + 1])

  79. .子程序 循环左移, 字节型
  80. .参数 值, 字节型

  81. 返回 (位或 (右移 (位与 (值, 254), 1), 左移 (位与 (值, 1), 7)))


  82. .子程序 循环右移, 字节型
  83. .参数 值, 字节型

  84. 返回 (位或 (右移 (位与 (值, 128), 7), 左移 (位与 (值, 127), 1)))


  85. .子程序 半字节交换, 字节型
  86. .参数 值, 字节型

  87. 返回 (左移 (位与 (值, 15), 4) + 右移 (值, 4))


  88. .子程序 字节高低位颠倒, 字节型
  89. .参数 字节, 字节型
  90. .局部变量 移位计数, 整数型
  91. .局部变量 返回值, 字节型

  92. .变量循环首 (0, 7, 1, 移位计数)
  93.     .如果真 (位与 (左移 (1, 移位计数), 字节) = 左移 (1, 移位计数))
  94.         返回值 = 位或 (返回值, 左移 (1, 7 - 移位计数))

  95.     .如果真结束

  96. .变量循环尾 ()
  97. 返回 (返回值)


  98. .子程序 F, 整数型
  99. .参数 X, 整数型
  100. .参数 Y, 整数型
  101. .参数 Z, 整数型

  102. 返回 (位或 (位与 (X, Y), 位与 (位取反 (X), Z)))

  103. .子程序 G, 整数型
  104. .参数 X, 整数型
  105. .参数 Y, 整数型
  106. .参数 Z, 整数型

  107. 返回 (位或 (位与 (X, Z), 位与 (Y, 位取反 (Z))))

  108. .子程序 H, 整数型
  109. .参数 X, 整数型
  110. .参数 Y, 整数型
  111. .参数 Z, 整数型

  112. 返回 (位异或 (X, Y, Z))

  113. .子程序 I, 整数型
  114. .参数 X, 整数型
  115. .参数 Y, 整数型
  116. .参数 Z, 整数型

  117. 返回 (位异或 (Y, 位或 (X, 位取反 (Z))))
复制代码


相关帖子

发表于 2018-6-18 13:53:35 | 显示全部楼层
1小时就3查看
发表于 2018-6-18 21:55:03 | 显示全部楼层

我这9小时6查看,这里几乎没什么人来的,只有一些蜘蛛程序进来。
发表于 2018-6-19 21:38:56 | 显示全部楼层
真随机数就这样生成的么???
发表于 2018-6-20 13:24:31 | 显示全部楼层
Cute 发表于 2018-6-18 21:55
我这9小时6查看,这里几乎没什么人来的,只有一些蜘蛛程序进来。

24小时不到20查看
发表于 2018-7-26 17:24:00 | 显示全部楼层
222 发表于 2018-6-20 13:24
24小时不到20查看

趋近于964.7691666667时,28查看
发表于 2018-7-26 17:25:46 | 显示全部楼层
这东西怎么能号称真随机数...
我觉得楼主的程序在相同环境时某种程度数据会趋向一个中心
发表于 2018-10-23 22:19:32 | 显示全部楼层
Cute 发表于 2018-6-18 21:55
我这9小时6查看,这里几乎没什么人来的,只有一些蜘蛛程序进来。

4个月不到70查看,你说6不6 ???
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-24 12:47 , Processed in 0.881050 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表