c++生成一定范围内随机数的通用算法公式

c++生成一定范围内随机数的通用算法公式,引用windows游戏编程之从零开始。

描述

通用公式: a + rand() % n, 获取[a, a + b)范围的随机整数,启动a是起始值, n是整数的范围

方式一

1
2
3
1、要取得[a,b)的随机整数, 使用(rand() % (b - a)) + a     (结果值包含a不包含b)
2、要取得[a,b]的随机整数, 使用(rand() % (b - a + 1)) + a (结果值包含a包含b)
3、要取得(a,b]的随机整数, 使用(rand() % (b - a)) + a + 1 (结果值不包含a包含b)

方式二

1
2
3
1、要取得[a,b)的随机整数, 使用a + (int) (b - a) * rand() / (RAND_MAX + 1)  (结果值包含a不包含b)
2、要取得[a,b]的随机整数, 使用a + (int) (b - a) * rand() / RAND_MAX (结果值包含a包含b)
3、要取得(a,b]的随机整数, 使用a + 1 + (int) (b - a) * rand() / RAND_MAX (结果值不包含a包含b)
文章目录
  1. 1. 描述
  2. 2. 方式一
  3. 3. 方式二