human
Pourquoi 2 147 483 647 est-il le plus grand nombre pour la plupart des ordinateurs ? Cela semble un peu aléatoire , 2 ^ 31 - 1 . Explique comme si j'avais cinq ans.
gpt
Pour comprendre cela , il serait utile de prendre du recul et de comprendre que les ordinateurs , au lieu de compter jusqu'à dix ( 1 , 2 , 3 ... 8 , 9 , 10 ) comme nous le faisons , ne comptent que jusqu'à deux , ou plus précisément , ZÉRO et UN . Soit OFF soit ON . Chaque ZÉRO ou chaque UN est appelé un BIT. Ce sont essentiellement les blocs de construction du monde informatique. Quand un bit est à ZERO, il est à OFF. Lorsqu'un bit est à UN, il est à ON, et cela indique à l'ordinateur ce qu'il doit faire lorsqu'il y a une chaîne de OFF et de ON dans un certain schéma. La plupart des ordinateurs ne peuvent compter que 32 de ces BITS à la fois. Voici à quoi ressemble une chaîne de 32 bits : 0110 1001 1010 1100 1100 1001 0110 1001 Il y a 32 nombres dans cette ligne ci-dessus. Certains sont activés, d'autres désactivés. Rappelez-vous ci-dessus quand j'ai dit qu'un ON est égal à 1 et qu'un OFF est égal à 0 ? Lorsque les gens écrivent un nombre binaire, ils mettent généralement un espace tous les 4 bits, comme lorsque vous comptez normalement et ajoutez une virgule tous les trois chiffres pour faciliter la lecture. Maintenant, pour comprendre comment nous arrivons à ce très grand nombre, vous devez comprendre comment "compter" en binaire. Lorsque nous comptons un nombre normal, comme votre exemple ci-dessus (2 147 483 467), certaines personnes commencent à droite et comptent le nombre de places avant le nombre le plus à gauche. > 1 = UN > 10 = DIZAINES > 100 = CENTAINES > 1 000 = MILLIERS > 10 000 = DIX MILLIERS > 100 000 = CENTAINES DE MILLIERS > 1 000 000 = MILLIONS > 10 000 000 = DIX MILLIONS > 100 000 000 = 0 MILLIARDS > 1 000 peut voir que votre numéro commence à MILLIARDS , donc nous le comptons comme " Deux milliards , cent quarante - sept millions ... etc ) . Chaque chiffre de votre numéro a son propre nom . Ce n'est pas si différent en binaire . , mais au lieu de milliers et de millions comme nous avons compté ci - dessus , chaque place dans un nombre binaire est une fonction des mathématiques . Lorsque nous comptons normalement , une fois que nous atteignons 9 , ce neuf est transformé en zéro , puis un 1 est placé dans le Fente TENS ... 6 , 7 , 8 , 9 , 10 , 11 ... Puis nous continuons à compter , et lorsque nous atteignons 19 , le neuf se transforme à nouveau en zéro et un 1 est à nouveau ajouté à la fente dix . . .. 17 , 18 , 19 , 20 , 21 ... Ce système de comptage de 9 nombres avant d'en ajouter un dans la case suivante à gauche est parfois appelé un Système BASE-10 . Il y a DIX nombres (0 1 2 3 4 5 6 7 8 9) avant d'en ajouter un au prochain emplacement de gauche. Le binaire est similaire, mais au lieu d'utiliser des nombres DIX, le binaire n'utilise que DEUX (0 1) et est parfois appelé BASE-2. Lorsque nous comptons en binaire , une chose similaire se produit , mais au lieu que le neuf se transforme en zéro lorsque nous ajoutons un , parce que nous n'utilisons que deux nombres différents dans le système binaire , lorsque nous ajoutons un à un 1 , cela se fait automatiquement se retourne en un 0 , et un 1 est placé devant . > 0000 = (0) ZÉRO > 0001 = AJOUTER UN (1) et il est placé dans la fente la plus à droite > 0010 = AJOUTER UN (2) et l'original est transformé en zéro, et un est ajouté à gauche > 0011 = AJOUTER UN ( 3 ) et ce zéro redevient un > 0100 = AJOUTER UN ( 4 ) et celui-ci redevient un zéro , donc nous ajoutons un au deuxième emplacement , mais il y a déjà un un là , donc nous le transformons également en zéro , et ajoutons un 1 au troisième emplacement . > 0101 = 5 > > 0110 = 6 > > 0111 = 7 > > 1000 = 8 > > 1001 = 9 ... Maintenant, pour transformer ce nombre BINAIRE en un nombre DÉCIMAL, nous devons faire un peu de maths. Chaque chiffre, en partant de l'extrême droite, est égal au chiffre précédent plus lui-même, à l'exception du chiffre le plus à droite, qui est toujours un. Ainsi , avec 8 chiffres binaires , voici comment chaque chiffre est représenté en décimal : > 0000000**1 * * = 1 (celui-ci commence toujours par 1 ) > 000000**1**0 = 2 ( 1 + 1 ) > 00000**1**00 = 4 ( 2 + 2 ) > 0000**1**000 = 8 ( 4 + 4 ) > 000**1**0000 = 16 ( 8 + 8) > 00**1* *00000 = 32 ( 16 + 16 ) > 0**1**000000 = 64 ( 32 + 32 ) > * * 1**0000000 = 128 ( 64 + 64 ) Rappelez-vous quand j'ai dit au début comment est un nombre binaire soit ZERO et OFF , soit ONE et ON ? Eh bien , c'est ainsi que vous découvrez comment additionner un nombre binaire ! Lorsqu'un BIT est défini sur OFF, vous ignorez un nombre, et lorsqu'il est défini sur ON, vous l'ajoutez au total cumulé ! Donc, en utilisant 8 bits binaires, nous trouverons ensemble un nombre binaire ! Voici un exemple : 10011110 En utilisant notre graphique ci-dessus, nous pouvons déterminer ce qu'est ce nombre en décimal ! Tournons - le de côté pour mieux voir : > 1 = 128 > 0 = ~~64~~ > 0 = ~~32~~ > 1 = 16 > 1 = 8 > 1 = 4 > 1 = 2 > 0 = ~~1~~ Maintenant si nous prenons les nombres sans lignes à travers eux , nous nous retrouverons avec 128 + 16 + 8 + 4 + 2 , qui , une fois additionnés , égalent 158 ​​. Ce qui ressemble à un nombre binaire impressionnant est relativement petit ! Maintenant que vous comprenez comment compter en binaire, nous allons revenir à votre question initiale et répondre pourquoi les ordinateurs ne peuvent compter que jusqu'à 2 147 483 647. Comme je l'ai déjà dit, la plupart des ordinateurs ne peuvent compter que 32 bits à la fois. C'est 32 numéros ZÉRO ou UN d'affilée. si vous deviez activer tous les bits sur ce nombre de 32 bits ( 1111 1111 1111 1111 1111 1111 1111 1111 ), puis les ajouter tous ensemble comme nous l'avons compris ci-dessus ( 1 + 2 + 4 + 8 + 6 + 32 + 64 + 128 + 256 + 512 + 1024 + 2048 + 4096 + 8192 + 16384 + 32768 + 65536 + 131072 + 262144 + 524288 + 1048576 + 2097152 + 4194304 + 8388608 + 16777216 + 33554432 + 67108864 + 134217728 + 268435456 + 536870912 + 1073741824 + 2147483648 ) , vous obtiendriez un nombre qui est le double du nombre avec lequel vous avez commencé . 4 294 967 297 Malheureusement, les ordinateurs gèrent les nombres 32 bits un peu différemment de ce qui est écrit sur papier. La plupart des systèmes informatiques qui utilisent les systèmes de numération à 32 bits prennent le chiffre le plus à gauche et le transforment en quelque chose appelé "bit entier signé". Integer est juste un mot fantaisiste pour " nombre " . "Signé" signifie que le nombre a un signe mathématique spécial devant le nombre, généralement positif ou négatif. Dans de tels cas, un ordinateur 32 bits utilisera généralement le bit le plus à gauche comme un entier signé, ignorant le nombre décimal que ce bit désigne (21474836478). Lorsque le bit Entier signé est 0 (ou OFF), le nombre qui le suit est positif (+2 147 483 647), lorsqu'il est 1 (ou ON), le nombre est négatif (-2 147 483 647). Passons maintenant au cœur de votre question. La raison pour laquelle la plupart des ordinateurs ne peuvent pas compter au-dessus de 2 147 483 647 est qu'il s'agit d'un nombre positif de 32 bits (0111 1111 1111 1111 1111 1111 1111 1111) et que l'ajout d'un seul à ce nombre entraînerait un débordement de pile. N'oubliez pas que le bit au tout début du nombre indique à l'ordinateur si le nombre est positif ou négatif. La pile de nombres ne peut plus contenir de nombres, car c'est tout ce que l'ordinateur est conçu pour lire en une seule fois. J'espère que ça aide ! Si vous avez besoin de plus d' informations , vous trouverez ici un outil pédagogique fantastique : URL_0