返回介绍

Arduino - 随机数( Random Numbers)

发布于 2021-05-21 05:45:03 字数 1953 浏览 1146 评论 0 收藏 0

要生成随机数,您可以使用Arduino随机数函数。 我们有两个功能 -

  • randomSeed(seed)
  • random()

randomSeed (seed)

函数randomSeed(seed)重置Arduino的伪随机数生成器。 尽管random()返回的数字的分布基本上是随机的,但序列是可预测的。 您应该将生成器重置为某个随机值。 如果您有一个未连接的模拟引脚,它可能会从周围环境中拾取随机噪声。 这些可能是无线电波,宇宙射线,手机的电磁干扰,荧光灯等。

例子 (Example)

randomSeed(analogRead(5)); // randomize using noise from analog pin 5

random( )

随机函数生成伪随机数。 以下是语法。

random( ) Statements Syntax

long random(max) // it generate random numbers from 0 to max
long random(min, max) // it generate random numbers from min to max

例子 (Example)

long randNumber;
void setup() {
   Serial.begin(9600);
   // if analog input pin 0 is unconnected, random analog
   // noise will cause the call to randomSeed() to generate
   // different seed numbers each time the sketch runs.
   // randomSeed() will then shuffle the random function.
   randomSeed(analogRead(0));
}
void loop() {
   // print a random number from 0 to 299
   Serial.print("random1=");
   randNumber = random(300);
   Serial.println(randNumber); // print a random number from 0to 299
   Serial.print("random2=");
   randNumber = random(10, 20);// print a random number from 10 to 19
   Serial.println (randNumber);
   delay(50);
}

现在让我们刷新一些基本概念的知识,比如位和字节。

Bits

一点只是一个二进制数字。

  • 二进制系统使用两个数字,0和1。

  • 类似于十进制数系统,其中数字的数字不具有相同的值,位的“重要性”取决于它在二进制数中的位置。 例如,十进制数666中的数字相同,但具有不同的值。

位

Bytes

一个字节由8位组成。

  • 如果位是数字,则字节表示数字是合乎逻辑的。

  • 可以对它们执行所有数学运算。

  • 字节中的数字也不具有相同的含义。

  • 最左边的位具有最大值,称为最高有效位(MSB)。

  • 最右边的位具有最小值,因此称为最低有效位(LSB)。

  • 由于八个零和一个字节的一个可以以256种不同的方式组合,因此可以用一个字节表示的最大十进制数是255(一个组合表示零)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文