當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ std::subtract_with_carry_engine用法及代碼示例


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


相關用法


注:本文由純淨天空篩選整理自vikas2gqb5大神的英文原創作品 std::subtract_with_carry_engine in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。