L'objectif d'un dispositif informatique, en général, est d'accepter, de traiter, de stocker et d'émettre des données. Le matériel sous-jacent n'est qu'une machine qui aide à exécuter ces quatre fonctions. Il ne peut rien faire sans logiciel.
Le logiciel est le code qui indique à la machine comment accepter des données, comment les traiter, comment les stocker et comment les fournir à d'autres.
Le matériel sous-jacent aura toujours des limites. Dans le cas d'une machine 32 bits, la plupart des registres qui traitent les données n'ont qu'une largeur de 32 bits. Cela ne signifie pas pour autant que la machine ne peut pas traiter des nombres au-delà de 2^32, mais que si vous voulez traiter des nombres plus grands, la machine peut prendre plus d'un cycle pour les accepter, les traiter, les stocker ou les émettre.
Le logiciel indique à la machine comment traiter les chiffres. Si le logiciel est conçu pour traiter de grands nombres, il envoie une série d'instructions à l'unité centrale qui lui indiquent comment traiter les grands nombres. Par exemple, votre nombre peut être représenté par deux registres de 32 bits. Si vous vouliez ajouter 1 234 à votre nombre, le logiciel demanderait à l'unité centrale d'ajouter d'abord 1 234 au registre inférieur, puis de vérifier le bit de dépassement pour voir si cette addition a donné un nombre trop grand pour le registre inférieur. Si c'est le cas, il ajoute 1 au registre supérieur.
De la même manière que l'on apprend aux enfants de l'école primaire à additionner avec retenue, on peut demander à l'unité centrale de traiter des nombres plus grands que ceux qu'elle peut contenir dans un seul registre. Ceci est vrai pour la plupart des opérations mathématiques génériques, pour des nombres de toute taille pratique.
36 votes
La question est erronée. Les machines 32 bits peuvent gérer des nombres bien plus grands que 2^32. Elles le font tout le temps, avec 'long' et ainsi de suite. Elles ne peuvent stocker que jusqu'à 2^32 dans un registre, mais le logiciel est écrit pour contourner ce problème. Certains langages modernes n'ont même pas de problème avec la longueur d'un nombre donné.
23 votes
Veuillez garder vos commentaires sur le sujet, polis et pertinents pour les aspects techniques de la question. Près de 50 commentaires de blagues ont déjà dû être supprimés, et nous aimerions éviter de devoir verrouiller le poste. Merci.
6 votes
Cette question a été rédigée d'une manière un peu négligée. Que voulez-vous dire par "écrire" et "afficher" le nombre 1000000000000 ? Lorsque vous avez rédigé la question, vous avez écrit le nombre 1000000000000, et votre navigateur Web l'affiche très bien, je suppose, mais cela ne devrait rien avoir d'étrange pour quiconque a déjà utilisé un ordinateur. La question demande une libre interprétation.
0 votes
Certains langages (comme Python) peuvent stocker des nombres vraiment très grands sous la forme d'un tableau de chiffres. Avec cela, peu importe la taille de votre mot ou registre, vous pouvez avoir autant de chiffres que vous pouvez en stocker en mémoire. C'est 10^2^32 pour les machines 32 bits ou 10^2^64 pour les machines 64 bits !
10 votes
On estime que la conscience humaine contient environ 50 bits (j'ai lu quelque part). La question n'est donc pas "Comment puis-je écrire" mais "Comment puis-je écrire".
10^9
sans que mon PC ne tombe en panne", mais plutôt "Comment puis-je écrire10^(18)
sans que mon cerveau ne s'effondre ?"1 votes
Les ordinateurs 32 bits ne peuvent stocker que des entiers UNSIGNED jusqu'à 2^32 - 1. 2^32 - 1 n'est même pas égal à 2 147 483 647... 300 votes positifs et personne ne s'en est rendu compte ?
0 votes
@KorayTugay Ça, ou tous ceux qui s'en sont rendu compte ont aussi réalisé que ce n'est pas particulièrement important pour la question.
0 votes
Aussi, ce n'est pas un trillion, c'est 4 milliards
0 votes
A titre d'information :
10^12
s'appelleTrillion
aux États-Unis, au Canada anglais, en Australie et dans les pays britanniques modernes.Billion
en Europe, plus anciens, britanniques et canadiens français.