std::subtract_with_carry_engine 是 C++ 標準庫提供的隨機數生成器引擎。它是一個模板類,代表subtract-with-carry 引擎,它是一種隨機數生成器算法。它在 <random> 頭文件中定義。
用法
std::subtract_with_carry_engine <UIntType, w, s, r> object_name;
- UIntType:生成的隨機數的類型通常是無符號整數類型。
- w:隨機數中的位數。也稱為字大小。
- s:短暫的滯後
- r:長滯後,其中 0 < s < r。
常用函數
std::subtract_with_carry_engine 有一些成員函數用於執行常見操作:
S. No. |
Function |
Description |
---|---|---|
1 |
min() | 用於獲取可以生成的最小值。 |
2 |
max() | 用於查找可以生成的最大值。 |
3 |
seed() | 種子用於隨機數生成。 |
4 |
操作符 () | 重載運算符 () 以返回隨機生成的數字。 |
例子
示例 1:生成 2 個數字並比較它們。
C++
// C++ Program to illustrate std::subtract_with_carry_engine
#include <iostream>
#include <random>
using namespace std;
int main()
{
// creating engine object
subtract_with_carry_engine<unsigned int, 29, 19, 24>
engine;
// generating two random numbers
unsigned int random1 = engine();
unsigned int random2 = engine();
// comparing numbers
if (random1 > random2) {
cout << "random1 is greater than random2" << endl;
}
else if (random1 < random2) {
cout << "random2 is greater than random1" << endl;
}
else {
cout << "random1 is equal to random2" << endl;
}
return 0;
}
輸出
random2 is greater than random1
示例 2:一一生成 10 個隨機數。
C++
// C++ Program to illustrate std::subtract_with_carry_engine
#include <iostream>
#include <random>
using namespace std;
int main()
{
// Create an engine with the specified parameters
subtract_with_carry_engine<uint_fast32_t, 31, 7, 11>
engine;
// Generating 10 random numbers
for (int i = 0; i < 10; ++i) {
uint_fast32_t random_value = engine();
cout << "The Random Number: " << random_value
<< endl;
}
return 0;
}
輸出
The Random Number: 1610992232 The Random Number: 1225659571 The Random Number: 1456584671 The Random Number: 1071764482 The Random Number: 333868461 The Random Number: 2064876693 The Random Number: 1689989734 The Random Number: 1479050034 The Random Number: 205186667 The Random Number: 506270897
相關用法
- C++ std::swap()用法及代碼示例
- C++ std::strncmp()用法及代碼示例
- C++ std::sort()用法及代碼示例
- C++ std::set_difference用法及代碼示例
- C++ std::set_intersection用法及代碼示例
- C++ std::set_union用法及代碼示例
- C++ std::search用法及代碼示例
- C++ std::stable_partition用法及代碼示例
- C++ std::stof用法及代碼示例
- C++ std::stol()、std::stoll()用法及代碼示例
- C++ std::string::append()用法及代碼示例
- C++ std::string::assign()用法及代碼示例
- C++ std::string::back()用法及代碼示例
- C++ std::string::clear用法及代碼示例
- C++ std::string::compare()用法及代碼示例
- C++ std::string::data()用法及代碼示例
- C++ std::string::erase用法及代碼示例
- C++ std::string::find_first_not_of用法及代碼示例
- C++ std::string::find_last_not_of用法及代碼示例
- C++ std::string::insert()用法及代碼示例
- C++ std::string::push_back()用法及代碼示例
- C++ std::string::resize()用法及代碼示例
- C++ std::swap_ranges用法及代碼示例
- C++ std::string::rfind用法及代碼示例
- C++ std::string::find_last_of用法及代碼示例
注:本文由純淨天空篩選整理自vikas2gqb5大神的英文原創作品 std::subtract_with_carry_engine in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。