Oodoc change de nom : découvrez tousLesDocs

X

Accéder à ce doc

Le sommaire
  ACCÉDER à ce doc

Introduction

I) Les grands nombres

II) L'addition

A. Présentation de l'algorithme
B. Définition
C. Exemple concret
D. Optimisation
E. Programmation

III) La multiplication

A. Une solution évidente
B. Une solution plus appropriée
C. Exemple concret
D. Programmation

IV) La soustraction

A. Définition
B. Exemples concrets
C. Programmation

V) Division

A. Définition
B. Une solution plus appropriée
C. Type spécifique à la division
D. Exemple concret
E. Programmation

VI) Comparaison de deux grands nombres

VII) Mise à zéro de grands nombres

Conclusion
ACCÉDER à ce doc  

Résumé du document
  ACCÉDER à ce doc

La manipulation des très grands nombres s'avère indispensable pour de nombreuses applications comme la cryptographie, l'analyse de signaux. Même si la puissance de calcul des calculateurs particuliers ne cessent d'augmenter, la taille des nombres manipulables directement par le processeur ne peut guère dépasser 32 bits, c'est-à-dire 4294967296. Néanmoins, nous pouvons élaborer des techniques de calcul qui permettent en séparant les données par paquets de manipuler des grands nombres pour les ajouter, les soustraire, les multiplier ()

Extraits

[...] Soient nb1 et nb2 deux grands nombres. Soit nb3 un grand nombre tel que nb3=nb1+nb2 On effectue tout d’abord l’addition membre à membre des chiffres de nb1 et de nb2 ce qui donne : (Avec nb1i et nb2i les chiffres de nb1 et nb2 associés à i et j le nombre de chiffres du nombre le plus grand entre nb1 et nb2. ) Ensuite il faut effectuer une sorte de remise en forme. Lorsqu’ on additionne deux nombres appartenant à ; 255] (8Bits) le résultat appartient à ; 510]. [...]


[...] Ainsi nous allons d’abord effectuer 4 calculs. nb3.nomb[0] = nb1.nomb[0]+nb2.nomb[0] = 185; nb3.nomb[1] = nb1.nomb[1]+nb2.nomb[1] = 141; nb3.nomb[2] = nb1.nomb[2]+nb2.nomb[2] = 266; nb3.nomb[3] = nb1.nomb[3]+nb2.nomb[3] = 221; Et ensuite la remise en forme nb3.nomb[0] = nb3.nomb[0] (modulo 256) = 185; nb3.nomb[1] = nb3.nomb[1] (modulo 256) = 141 ; nb3.nomb[2] = nb3.nomb[2] (modulo 256) = 10 ; Comme 266/256=1 nb3.nomb[3]=nb3.nomb[3]+1=222 : nb3.nomb[3] = nb3.nomb[3] (modulo 256) = 222 ; Donc nb3= 185.256 + 141.256 + 10.256 + 222.256 Optimisation : Nous allons désormais optimiser cet algorithme en fusionnant les deux processus : celui d’addition puis celui de remise en forme en un seul processus. [...]


[...] (et non pas 8 bits voire plus loin). Ainsi les grands nombres seront sous la forme : Avec ai appartenant à ; 255] Comme nous avons déterminé de quelle manière nous allons représenter les grands nombres nous allons pouvoir passer à la première opération arithmétique : l’addition. Définition d’un nouveau type pour la programmation : Du point de vue de la programmation dans cet article les listings seront rédigés en C et pour une meilleure compréhension nous n’utiliserons pas de pointeurs mais des tableaux prédéfinis Voici le type bignb : typedef struct bignb { int signe; //signe du nombre = positif et = negatif) int nb; //nombre de chiffres (en fait nombre de chiffres unsigned int nomb[200]; //tableau contenant les chiffres du nombre ( on peut observer ici la limite de calcul cite précédemment) } bignb; 3. [...]

ACCÉDER à ce doc  

Informations sur le doc

Date de publication
27/05/2009
Langue
français
Format
Word
Type
dissertation
Nombre de pages
14 pages
Niveau
grand public
Consulté
2 fois

Informations sur l'auteur Gilles B. (étudiant)

Niveau
Grand public
Etude suivie
droit des...
Ecole, université
paris
Note du document :
         
ACCÉDER à ce doc  
Calcul avec les grands nombres

«La manipulation des très grands nombres s'avère indispensable pour de nombreuses applications comme la cryptographie, l'analyse de signaux. Même si la puissance de calcul des calculateurs particuliers ne cessent d'augmenter, la ta...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   14 pages   |   publié en 2009
Programme de calcul de nombres premiers en langage C

«Un nombre premier est un entier naturel qui n'est divisible (sans reste) que par 1 et par lui-même. Voyons rapidement un exemple avec 5.5 / 1 = 5 (entier)5 / 2 = 2,5 (reste)5 / 3 = 1,6666... (reste)(...)...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   2 pages   |   publié en 2009
Création d'un logiciel de calcul matriciel sous Visual Basic

«Cours posant les bases du calcul matriciel et permettant de réaliser un logiciel de calcul. Ce logiciel est expliqué en détail et testé. Vous y trouverez également de nombreuses copies d'écran pour une meilleure compréhension. Document de 27 pages au...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   27 pages   |   publié en 2006
La non vérification des résultats obtenus par la calculatrice (mémoire professionnel IUFM PLC2)

«Faciliter et simplifier les calculs ont toujours été une préoccupation majeure des mathématiciens, ainsi dès le XVIème siècle différents calculateurs mécaniques furent mis au point. Les p...»

Économie et Social   |  Psychologie  |   Dissertation  |   fr  |   .doc  |   47 pages   |   publié en 2008
Programmation d'un analyseur de spectre

«Le traitement du signal est une méthode qui vise à manipuler des informations comme des sons par exemple. Habituellement la modification des signaux fait appel à des circuits électroniques complexes, coûteux, encombr...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   10 pages   |   publié en 2009

Meilleures ventes en informatique

Derniers docs en informatique

Dépannage de premier niveau d'un réseau local
Sciences et technologies   |  Informatique  |   Guide pratique  |   fr  |   .doc  |   177 pages   |   publié en 2007
Cours de HTML pour débutant
Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .doc  |   84 pages   |   publié en 2010
Exemple de conception d'une base de données Microsoft Access
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   16 pages   |   publié en 2006
La gestion de projet sous Microsoft Project
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   79 pages   |   publié en 2007
La création d'une base de données sous Access
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   31 pages   |   publié en 2007
Conception et développement d'un système en ligne de la gestion de recrutement
Sciences et technologies   |  Informatique  |   Mémoire  |   fr  |   .pdf  |   29 pages   |   publié en 2014
Etude et mise en place d'une solution cloud computing
Sciences et technologies   |  Informatique  |   Rapport de stage  |   fr  |   .doc  |   52 pages   |   publié en 2014
Les systèmes experts en ingénierie
Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .pdf  |   29 pages   |   publié en 2013
Cours de systèmes répartis
Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .pdf  |   18 pages   |   publié en 2013