Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2998 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  génération des nombres long aleatoire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

génération des nombres long aleatoire

n°2133528
Hnayn5291
Posté le 28-03-2012 à 17:10:24  profilanswer
 

salut  
svp m'aider de générer deux nombres de types unsigned long int (de taille 1024) aléatoire.
merci bien[#4600B8][/#4600B8]

mood
Publicité
Posté le 28-03-2012 à 17:10:24  profilanswer
 

n°2133547
Terminapor
I'll see you rise.
Posté le 28-03-2012 à 18:03:52  profilanswer
 

Tu peux peut être jouer avec le rand() qui te renvoi un nombre au hasard entre 0 et 32767,et l'appliquer à ton int avec des décalages ?


---------------
Perhaps you don't deserve to breathe
n°2133551
gilou
Modérateur
Modzilla
Posté le 28-03-2012 à 18:14:13  profilanswer
 

Hnayn5291 a écrit :

salut  
svp m'aider de générer deux nombres de types unsigned long int (de taille 1024) aléatoire.
merci bien[#4600B8][/#4600B8]

 [:google]  
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2133556
Hnayn5291
Posté le 28-03-2012 à 21:05:45  profilanswer
 

j'ai exécuté ce code ça marche mais la valeur aléatoire de type entier ce n'est pas de taille 1024. :(  
   long int myRandom(void)
{
   static int first = 0;
   
   if (first == 0)  
   {
 unsigned long int t = (unsigned long int) time(NULL);
    srand(t);
    first = 1;
   }
   return ( rand () % 10 );
}

n°2133557
gilou
Modérateur
Modzilla
Posté le 28-03-2012 à 21:13:39  profilanswer
 

Si par 1024, vous voulez dire 1024 chiffres exactement, ça va être difficile, vu qu'en 32 bits, un unsigned long int varie de 0 à 4 294 967 295 et a donc au plus 10 chiffres significatifs (20 chiffres en 64 bits). :sarcastic:  
Avec certaines extensions de compilateurs C on peut bosser sur des entiers non signés sur 128 bits, mais ça ne fait au plus que 39 chiffres significatifs. A delà, il faut utiliser des librairies spécialisées dans la manipulation de nombres pas représentables directement en machine, voir à "arbitrary-precision arithmetic"
A+,


Message édité par gilou le 28-03-2012 à 21:43:59

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2133566
Hnayn5291
Posté le 28-03-2012 à 22:36:17  profilanswer
 

On utilise le système RSA, utilisant des clefs de 1024 bits donc j'ai obligé de generer les clés aleatoire de taille 1024 bits.

n°2133570
Terminapor
I'll see you rise.
Posté le 28-03-2012 à 23:11:51  profilanswer
 

Dans ce cas pourquoi tu fais pas un rand() bit à bit ? Mais de toute façon, comme l'a dit Gilou un long int c'est 32 bits, tu la manipule comment ta clef ?


Message édité par Terminapor le 28-03-2012 à 23:12:00

---------------
Perhaps you don't deserve to breathe
n°2133571
breizhbugs
Posté le 28-03-2012 à 23:14:18  profilanswer
 

Bonsoir,
1024 bits ca fait 128 octets soit 128 char donc en faisant un tableau de 128 (unsigned) char, il te suffit de tirer 128 fois un nombre entre 0 et 255 que tu stocke cle[numerotirage] ?


Message édité par breizhbugs le 28-03-2012 à 23:15:30

---------------
Seul Google le sait...
n°2133578
Hnayn5291
Posté le 29-03-2012 à 01:20:09  profilanswer
 

comment?

n°2133579
gilou
Modérateur
Modzilla
Posté le 29-03-2012 à 02:40:01  profilanswer
 

Faut peut être pas se moquer du monde: ce qu'il a dit est facilement implémentable. Si vous attendez de ce forum qu'on fasse le codage à votre place, ça ne va certainement pas aller.
Plutôt que Rand, utilisez donc des generateurs modernes comme WELL512 par exemple.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le 29-03-2012 à 02:40:01  profilanswer
 

n°2134263
Lightness1​024
Posté le 02-04-2012 à 14:09:58  profilanswer
 

sans parler des problèmes de sécurité que posent les générateurs pseudo aléatoires qui peuvent être prédits. En général un bon programme sécurisé utilise les mouvements de la souris, les paquets réseau sur un laps de temps etc etc. (voir /etc/random sous linux) ou mieux, un chip dédié a la génération de nombres aléatoires.
sinon je ne connais pas de générateur de 1024 bits mais il est vrai qu'il est possible de faire par paquets.
sinon en pseudo random, l'usage commun s'oriente vers des mersenne twister.


---------------
http://projets.6mablog.com/
n°2134265
gilou
Modérateur
Modzilla
Posté le 02-04-2012 à 14:18:49  profilanswer
 

J'ai vu quelque part un générateur basé sur le bruit radio reçu par la carte WiFi (sur une architecture Linux).
Je ne sais pas ce qu'il vaut, mais c'est pas con comme idée.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  génération des nombres long aleatoire

 

Sujets relatifs
réaliser un programme permettant de faire le PGCD de trois nombresSens d'écriture nombres hexadécimaux
Element aléatoire parmi différents types[C] MLX: Acceder aux différents octets d'un unsigned long
Génération pdf access vba[PHP] Script long et timeout
[AS3] Grille Aléatoire[ORACLE] - génération d'ARCHIVE LOGS en masse
générer une suite de bits aléatoireLimite des nombres réels en prog
Plus de sujets relatifs à : génération des nombres long aleatoire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR