0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在200 smart中生成伪随机数

CHANBAEK 来源:头条号朝拾忆 作者:头条号朝拾忆 2023-03-23 13:51 次阅读

上文写了博途中生成伪随机数的几种办法,现在试着使用其中简单的线性同余法实现在200 smart中完成类似功能。

回顾下线性同余法的公式:RandNum =(A * RandNum + B)% M

A、B、M均为常数,其中A是乘数,B是增量,M是模数,RandNum是初始值(种子)。

与博途不同的是,①:200 smart中没有双整数相除得余数的直接指令,需要我们自行实现;②:200 smart读取系统时间,最小计量单位只到秒,不能直接将其作为伪随机数发生器的种子,而博途能精确到纳秒,可以作为种子。

程序如下(只涉及基本运算,仅供参考):

poYBAGQb6LqAW2XQAABHHEdLM6I905.jpg

在"线性同余"中调用"双整数取余"

pYYBAGQb6LuAZaeyAAD3v2qxotY052.jpg

主程序

poYBAGQb6LyAVlPzAABsBh7R3n8327.jpg

"线性同余"

关于A、B、M的取值,可以参考以下方法:

pYYBAGQb6L2AO-tuAAE0qspDQ-A398.jpg

poYBAGQb6L6ABW_IAABPfEjhlF4200.jpg

"双整数取余"

poYBAGQb7IGAdNwEABvjP0yG4zA838.gif

运行情况

使用类似方法得到伪随机数序列,可用于程序的模拟、调试。

完。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SMART
    +关注

    关注

    3

    文章

    224

    浏览量

    44669
  • 指令
    +关注

    关注

    1

    文章

    607

    浏览量

    35665
  • 程序
    +关注

    关注

    116

    文章

    3779

    浏览量

    80896
  • 模数
    +关注

    关注

    0

    文章

    40

    浏览量

    13274
  • 伪随机数
    +关注

    关注

    0

    文章

    4

    浏览量

    7119
收藏 人收藏

    评论

    相关推荐

    请问如何在MATLAB中生成一组在规定范围符合指定分布的随机数

    何在MATLAB中生成一组在规定范围符合指定分布的随机数何在MATLAB中生成一组在规定范围符合指定分布的
    发表于 03-17 11:40

    什么是随机数

    做开发的工程师们应该或多或少都接触过随机数,可能认为它就是一个随机生成的数字嘛,使用时也很简单,只要调用开发语言提供的函数即可。但实际上随机数后面还是有着比较复杂但也有趣的知识点的。根
    发表于 07-22 09:42

    学习笔记 | 基于FPGA的随机数发生器(附代码)

    是专门的随机试验的结果,产生随机数有多种不同的方法。这些方法被称为随机数生成器。随机数最重要的特性是它在产生时后面的那个数与前面的那个数毫无
    发表于 04-21 19:42

    C语言中随机数的产生及性能检验

    系统仿真或加密算法中常需要产生满足一定分布函数的 随机数 ,高级程序设计语言中的库函数采用线性同余法产生一个在[0,32767] 服从均匀分布的随机数,但每次程序运行的结果都
    发表于 07-07 16:35 70次下载

    C语言random函数随机数产生

    由C语言的stalib.h库里面的random函数可以得到一个0-0x7FFFh的随机数,当然,调用随机数函数之前,是要进行种子的筛选的,以当前的时间参数作为种子,可以使得随机数至少
    发表于 08-25 17:56 1.3w次阅读

    C#教程之随机数加密

    C#教程之随机数加密,很好的C#资料,快来学习吧。
    发表于 04-21 09:52 5次下载

    神经网络的随机数生成方法

    为了克服有限精度效应对混沌系统的退化影响,改善所生成随机序列的统计性能,设计了一种新的基于六维CNN(细胞神经网络)的64 bit随机数生成
    发表于 02-02 15:49 0次下载

    随机数生成算法

    在计算机上用数学的方法产生随机数列是目前通用的方法,它的特点是占用的内存少,速度快.用数学方法产生的随机数列是根据确定的算法推算出来的,严格说来并不是随机的,因此一般称用数学方法产生的随机数
    发表于 04-03 10:25 6次下载

    何在C语言中使用随机数

    通常情况下,使用最多的方法的就是使用rand函数随机生成随机数来完成随机数生成工作。注意这里
    的头像 发表于 11-09 16:46 5154次阅读

    如何使用随机数生成器来生成私钥

    ,尤其重要。 说到随机,有两个必须要搞清楚的概念:“真随机数生成器”(TRNG)和随机数
    发表于 03-18 10:40 5034次阅读
    如何使用<b class='flag-5'>随机数</b><b class='flag-5'>生成</b>器来<b class='flag-5'>生成</b>私钥

    基于FPGA的随机数发生器设计方案

    基于FPGA的随机数发生器设计方案
    发表于 06-28 14:36 4次下载

    MAX765x微处理器的随机数生成例程

    扩频通信、安全、加密和调制解调器等应用需要生成随机数。实现随机数发生器的最常见方法是线性反馈移位寄存器(LFSR)。LFSR生成的代码实际上是“
    的头像 发表于 03-01 15:28 635次阅读
    MAX765x微处理器的<b class='flag-5'>伪</b><b class='flag-5'>随机数</b><b class='flag-5'>生成</b>例程

    FPGA的随机数发生器学习介绍

    随机试验的结果,产生随机数有多种不同的方法。这些方法被称为随机数生成器。随机数最重要的特性是它在产生时后面的那个数与前面的那个数毫无关系。
    的头像 发表于 09-12 09:13 1512次阅读

    如何使用雪花算法生成真正的随机数

    以前用rand和srand生成随机数随机数的序列是固定的,今天学习生成真正的
    的头像 发表于 10-09 10:05 1300次阅读

    何在FPGA中实现随机数发生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中实现4位随机数发生器(PRNGs)。
    的头像 发表于 08-06 11:20 619次阅读
    如<b class='flag-5'>何在</b>FPGA中实现<b class='flag-5'>随机数</b>发生器