0
Isaac kullanarak rastgele sayı üretmek için aşağıdaki kodu vardır:ISAAC rasgele sayı üreteci için tohum temini nasıl
Ben How to use ISAAC in CYukarıdaki kodu var
int main()
{
/* Initialize the structure to 0 */
randctx ctx;
ctx.randa = ctx.randb = ctx.randc = (ub4)0;
/* Initialize the seed */
for (ub4 i=0; i<256; ++i) {
ctx.randrsl[i] = i;
}
/* Initialize the random numbers from the seed */
randinit(&ctx, TRUE);
printf("%.8lx\n", rand(&ctx));
}
Ben de okumak için bir kod var/dev/random from to tohum:
int myFile = open("/dev/random", O_RDONLY);
uint32_t rand;
uint32_t randomNum = read(myFile, &rand, sizeof(rand)) ;
printf(" %u \n", rand);
close(myFile);
Tohum, yani ISAAC'a nasıl vereceğim?
Teşekkür
Çok teşekkürler Cevabınız için! Ben her zaman tohumu başlatamazdım. Görünen o ki, bytes_read'in büyüklük (ctx.randrsl) değerine eşit olması olasılığı oldukça düşüktür. Bu sorunu çözmenin bir yolu var mı? – user3266083
@ user3266083 sadece dosyadaki baytları okur, bu sadece olağandışı durumlarda başarısız olur. 'MyFile' başarıyla açıldı mı (> = 0 olmalıdır)? – Vasfed
Evet dosya başarıyla açıldı. Ve sadece FYI bunu Linux VM'de çalıştırıyorum. – user3266083