GMP學習:生成一個隨機數

使用gmp生成一個隨機數。

函數解釋

使用默認算法初始化狀態。 是速度和隨機性之間的折衷,建議用於無特殊要求的應用:

void gmp_randinit_default (gmp_randstate_t state)

將初始種子設置到state:

void gmp_randseed_ui (gmp_randstate_t state, unsigned long int seed)

生成一個範圍爲0到2^n-1(含)的均勻分佈的隨機整數,賦值到 rop:

void mpz_urandomb (mpz_t rop, gmp_randstate_t state, mp_bitcnt t n)

源代碼

#include <stdio.h>
#include <gmp.h>
#include <time.h>

// mpz_urandomm.c
int main()
{
    clock_t time = clock();

    gmp_randstate_t grt;
    gmp_randinit_default(grt);
    gmp_randseed_ui(grt, time);


    mpz_t key;
    mpz_init(key);
    
    mpz_urandomb(key, grt, 16);
    gmp_printf("%Zd\n", key);

    mpz_clear(key);
}

其他gmp相關文章

  1. Mac下安裝使用GMP library
  2. GMP學習:初始化mpz數組
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章