Я хочу создать действительно длинное целое случайное число, я хочу, чтобы это было 224 бит случайного числа. Но самый длинный тип данных, который я могу найти, беззнаковый длинный длинный, который составляет 64 бита. Сначала я сделал это:Генерировать случайное число с заданным типом данных
#include <iostream>
#include <string>
#include <stdint.h>
#include <stdlib.h>
#include <ctime>
#include "random.h"
int main()
{
srand(time(0));
unsigned long long num1 = rand();
unsigned long long num2 = rand();
cout<<"1st random number = " << num1 << endl;
cout<<"2nd random number = " << num2 << endl;
return 0;
}
Моей идеей было бы определить новый тип данных, который является 224-битным целым числом. Так что я попытался сделать новый random.h файл:
class int224
{
unsigned int data[7];
}
А затем модифицировали первый код:
#include <iostream>
#include <string>
#include <stdint.h>
#include <stdlib.h>
#include <ctime>
#include "random.h"
int main()
{
srand(time(0));
int224 num1 = rand();
int224 num2 = rand();
cout<<"1st random number = " << num1 << endl;
cout<<"2nd random number = " << num2 << endl;
return 0;
}
Но он вернулся ошибки, может быть, я сделал ошибку, когда я определил новый тип данных , Я ценю любую помощь. Спасибо.
«.. он вернулся ошибки ..» Пожалуйста, перечислите их. – usr2564301
Даже 'unsigned long long num1 = rand();' на самом деле не даст вам 64-битного случайного числа. Он будет ограничен тем, что многие бит 'rand()' возвращается, в зависимости от реализации. – interjay