如何在一系列其他两个数组之间创建一个随机数组?

古温德·辛格

我需要在给定的数组范围之间生成一个随机 20 字节的数组。由于数组在 Rust 中是可比较的,因此它有效:

let low = [0u8; 20];
let high = [2u8; 20];
assert_eq!(true, low < high);
assert_eq!(false, low > high);
assert_eq!(true, low == [0u8; 20]);

对于这些边界:

let low: [u8; 20] = [98, 0, 1, 0, 2, 6, 99, 3, 0, 5, 23, 3, 5, 6, 11, 8, 0, 2, 0, 17];
let high: [u8; 20] = [99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];

这些将是一个有效的结果:

[98, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

这些不是:

[98, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2]

我想做类似的事情:

use rand::prelude::*;

fn main() {
    let low = [0u8; 20];
    let high = [2u8; 20];
    let value = rand::thread_rng().gen_range(low, high);
    println!("{:?}", value);
}

但我收到以下错误:

error[E0277]: the trait bound `[u8; 20]: rand::distributions::uniform::SampleUniform` is not satisfied
 --> src\main.rs:6:36
  |
6 |     let value = rand::thread_rng().gen_range(low, high);
  |                                    ^^^^^^^^^ the trait `rand::distributions::uniform::SampleUniform` is not implemented for `[u8; 20]`

我尝试实施SampleUniformUniformSampler但没有取得多大成功。有没有一种简单的方法来实现这一点?

彼得·科洛克

如果要将字节数组视为大整数,请使用启用功能num-bigint crate rand

use bigint::{ToBigInt, RandBigInt};

let low = -10000.to_bigint().unwrap();
let high = 10000.to_bigint().unwrap();
let b = rng.gen_bigint_range(&low, &high);

您也可以使用无符号整数代替有符号整数。有一些方法可以在大端字节数组之间进行转换:

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建一个随机数数组?

来自分类Dev

如何根据条件从两个数组创建一个数组

来自分类Dev

如何在Swift中遍历一个数组并将每个其他元素移动到两个新数组?

来自分类Dev

如何从两个数组创建一个结构?

来自分类Dev

在python中将一个数组与其他两个数组进行比较

来自分类Dev

从两个数组创建一个JavaScript对象

来自分类Dev

在其他系列的两个索引之间创建一个新的熊猫系列

来自分类Dev

SQL-根据其他两列的值创建一个数组

来自分类Dev

迭代两个数组以创建一系列列表

来自分类Dev

如何使用聚合框架比较两个其他数组,从而获得一个数组?

来自分类Dev

如何基于两个数组创建一个数组

来自分类Dev

如何在一个数组上合并两个数组

来自分类Dev

如何创建两个数字之间的随机数,但它只是在一个范围内变化?

来自分类Dev

复杂的Q承诺:一个承诺会创建一系列其他承诺

来自分类Dev

如何在一个数组中存储10个随机数然后回显该数组?

来自分类Dev

如何将一个数组中的一系列值除以另一个数组中的一系列值

来自分类Dev

如何从PHP中的两个常规数组创建一个数组

来自分类Dev

在python中将一个数组与其他两个数组进行比较

来自分类Dev

通过对其他两个数组的所有元素应用二进制运算,在Swift中创建一个数组

来自分类Dev

判断一个数是否与数组中的任意其他两个数组成一个连续的三个数

来自分类Dev

如何使用随机数创建一个数组,其中一个条件重复 n 次?

来自分类Dev

如何从两个数组和一个浮点值创建单个 numpy 特征数组?

来自分类Dev

使用 BeautifulSoup 从 <a> 中抓取一系列链接(在其他两个标签之间)

来自分类Dev

添加两个数组以创建一个

来自分类Dev

使用协变量在两个数据帧之间进行一系列 t 检验

来自分类Dev

对一个数组进行排序并使其他两个数组保持同步

来自分类Dev

从两个数组创建一个多维数组

来自分类Dev

如何在一个数组中添加两个数组

来自分类Dev

如何在两个数字之间生成一系列 Alpha 数字?

Related 相关文章

  1. 1

    如何创建一个随机数数组?

  2. 2

    如何根据条件从两个数组创建一个数组

  3. 3

    如何在Swift中遍历一个数组并将每个其他元素移动到两个新数组?

  4. 4

    如何从两个数组创建一个结构?

  5. 5

    在python中将一个数组与其他两个数组进行比较

  6. 6

    从两个数组创建一个JavaScript对象

  7. 7

    在其他系列的两个索引之间创建一个新的熊猫系列

  8. 8

    SQL-根据其他两列的值创建一个数组

  9. 9

    迭代两个数组以创建一系列列表

  10. 10

    如何使用聚合框架比较两个其他数组,从而获得一个数组?

  11. 11

    如何基于两个数组创建一个数组

  12. 12

    如何在一个数组上合并两个数组

  13. 13

    如何创建两个数字之间的随机数,但它只是在一个范围内变化?

  14. 14

    复杂的Q承诺:一个承诺会创建一系列其他承诺

  15. 15

    如何在一个数组中存储10个随机数然后回显该数组?

  16. 16

    如何将一个数组中的一系列值除以另一个数组中的一系列值

  17. 17

    如何从PHP中的两个常规数组创建一个数组

  18. 18

    在python中将一个数组与其他两个数组进行比较

  19. 19

    通过对其他两个数组的所有元素应用二进制运算,在Swift中创建一个数组

  20. 20

    判断一个数是否与数组中的任意其他两个数组成一个连续的三个数

  21. 21

    如何使用随机数创建一个数组,其中一个条件重复 n 次?

  22. 22

    如何从两个数组和一个浮点值创建单个 numpy 特征数组?

  23. 23

    使用 BeautifulSoup 从 <a> 中抓取一系列链接(在其他两个标签之间)

  24. 24

    添加两个数组以创建一个

  25. 25

    使用协变量在两个数据帧之间进行一系列 t 检验

  26. 26

    对一个数组进行排序并使其他两个数组保持同步

  27. 27

    从两个数组创建一个多维数组

  28. 28

    如何在一个数组中添加两个数组

  29. 29

    如何在两个数字之间生成一系列 Alpha 数字?

热门标签

归档