生成大于32767的随机数

生成大于32767的随机数

社区首页 >问答首页 >生成大于32767的随机数问生成大于32767的随机数ENStack Overflow用户提问于 2015-03-07 00:33:50回答 2查看 2.8K关注 0票数 2我正试图为一个变量分配一个介于0到65535之间的数字,但我做不到,因为RAND_MAX设置为32767。如何生成大于32767的随机数,同时生成的随机数在0到65535之间?

c++random关注问题分享EN回答 2推荐最新Stack Overflow用户回答已采纳发布于 2015-03-07 00:44:04

如果您的编译器支持C++11,您可以这样做:

代码语言:javascript运行复制#include

#include

int main()

{

std::random_device rd;

std::default_random_engine eng {rd()};

std::uniform_int_distribution<> dist(0, 65535);

for(unsigned i = 0; i < 10; ++i)

std::cout << dist(eng) << '\n';

}示例输出:

代码语言:javascript运行复制38198

49494

41521

10688

1262

51014

36094

16740

1212

59184收藏分享票数 6ENStack Overflow用户发布于 2015-03-07 00:42:23

我会尝试这样的方法:

代码语言:javascript运行复制int msb = (rand() % 2) << 15;

int random = msb | rand();也就是说,我生成两个随机数。第一个(msb)将设置第二个(随机)中最重要的比特。

收藏分享票数 5EN页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持原文链接:https://stackoverflow.com/questions/28909982

复制相关文章

💎 相关推荐

每周维护
英国365bet日博

每周维护

📅 08-28 👁️ 457
吲哚啉 CAS#: 496
365bet体育在线注册

吲哚啉 CAS#: 496

📅 08-10 👁️ 1882
2025年小游戏十大网站排行榜
365bet体育在线注册

2025年小游戏十大网站排行榜

📅 08-18 👁️ 6984