human
Ordinateurs : Comment passer d'un tas de 1 et de 0 à tout ce que nous pouvons faire ? Par « tout ce que nous pouvons faire », je veux dire parcourir Reddit, jouer à des jeux vidéo, regarder des films, écrire des articles, etc. Explique comme si j'avais cinq ans.
gpt
C'est beaucoup, beaucoup, beaucoup d'étapes compliquées. Donc en informatique, il y a ce concept appelé 'abstraction', qui veut dire fondamentalement, 'vous pouvez ignorer les détails de la façon dont les choses sous vous fonctionnent, et juste savoir que ça marche'. En publiant sur Reddit, vous vous engagez dans cette voie parce que vous ne savez pas vraiment comment un ordinateur passe du binaire (1 et 0) à un site Web complet et riche en fonctionnalités. Et c'est OK. Vous n'avez pas à savoir. Vous avez juste besoin de savoir que taper des trucs dans une boîte et appuyer sur 'post' fait apparaître le texte. C'est de l'abstraction. Ainsi , il est bien connu que les ordinateurs ne parlent nativement qu'en 1 et 0 , ce qui serait plus précisément décrit comme un interrupteur ( on et off ) au lieu d' un 1 ou d' un 0 , mais c'est couper les cheveux en quatre . Sachez que chaque 1 ou 0 est un « morceau » de données. Donc, si votre système de numération complet ne comprenait que 1 et 0, comment représenteriez-vous 2 ? que diriez-vous de 20 ? 200 ? Qu'en est-il de la lettre 'a' ? La longue histoire vraiment , vraiment courte est que nous avons fini le système d' octets , et alors que les octets ont historiquement été constitués de 16 , 14 , 12 et 32 ​​bits , aujourd'hui , ils sont presque universellement toujours 8 . Ainsi , un octet ( 8 bits de données ) représentant la valeur de ' 0 ' ressemblerait à ceci : 00000000 . ' 1 ' ressemblerait à ceci : 00000001 . ' 2 ' ressemblerait à ceci : 00000010 . Et 3 ' : 00000011 . Et ainsi de suite ... Donc , un octet de 8 bits nous donne la place d' exprimer 256 * choses * différentes , et c'est la base de pratiquement tout . Un système vraiment courant pour représenter différentes * choses * est ASCII . En ASCII , chaque valeur représente un caractère et un tableau complet se trouve ici : URL_0 ---- Un petit aparté ici . Beaucoup de jeux plus anciens, en particulier les jeux NES, avaient un tas d'éléments qui n'atteignaient que 255. Ceci parce qu'il était stocké sous forme d'octet unique en mémoire (ou une variable de 8 bits. C'est la même chose). 0 à 255 constitue l'ensemble des 256 valeurs que vous pouvez avoir, et aller plus haut est impossible. C'est la signification de ce nombre. Dans les jeux plus modernes , lorsque les nombres sont vraiment bogués , vous pouvez voir un nombre comme 4 294 967 295 ou -4 294 967 295 . Il s'agit des limites supérieure et inférieure d'une variable 32 bits. Ainsi, lorsque vous voyez des nombres farfelus autour de cela, c'est généralement le résultat d'une erreur de débordement quelconque. ---- ASCII est à peu près la 4ème couche à partir du matériel pur dans l'oignon très épais qu'est l'informatique. Finalement , vous développez des programmes où nous disons : « Hé , les 2 premiers octets de ce document vont représenter la couleur de la merde ! ' et ensuite nous pouvons dire , ' Hey ! Les 6 premiers octets de ce fichier vont décrire la taille de la police, la couleur et la distance entre les nouvelles lignes ! ' . Cela se produit encore et encore, ajoutant de nouvelles couches de complexité au cours des 40 prochaines années, et nous nous retrouvons finalement avec la tempête de merde que nous avons aujourd'hui, et tout cela est possible grâce à l'abstraction. Les programmeurs ne connaissent généralement rien au matériel informatique, car ils n'en ont pas besoin. Vous n'en savez généralement que le minimum nécessaire sur votre domaine, car il n'est tout simplement pas possible de connaître toutes les couches informatiques . Enfer, ils ne savent généralement pas grand-chose sur la couche spécifique sur laquelle ils travaillent. Je suis un développeur .NET et je peux tout vous dire sur la façon dont la mémoire est gérée dans un ordinateur, en dehors des bases car je n'ai pas à m'en soucier. Ou si je veux générer un nombre aléatoire, je dis juste Random. Next(0 , 100 ) et je sais que j'obtiendrai un nombre compris entre 0 et 100 . Je n'ai aucune idée de ce qui se passe réellement pour obtenir ce numéro. L'abstraction. C'est putain de génial. Embrassez la BOÎTE MYSTÈRE qui est tout de l'informatique.