C’est tout 1s et 0s: Comment les Ordinateurs Cartographient le Monde physique

Le nombre « 12 » n’est pas la valeur 12 dans un carton d’œufs. Le mot « rocher » n’est pas le rocher que vous rencontrez à l’extérieur. Au lieu de cela, ils ne sont que des symboles, créés à partir d’une collection d’autres symboles, qui représentent des concepts spécifiques qui correspondent bien au monde qui nous entoure. Ce sont des outils qui nous donnent la capacité de décomposer le monde, une masse de matière, en morceaux gérables. Nous les utilisons, non pas parce qu’ils sont objectivement « vrais”, mais parce qu’ils sont utiles pour atteindre nos objectifs compte tenu d’un ensemble de restrictions physiques.

En substance, l’utilisation du binaire par les ordinateurs n’est pas plus compliquée que cela. Juste un autre système artificiel créé pour atteindre un objectif avec un certain ensemble de restrictions à l’esprit.

Avant de réfléchir à la façon dont les ordinateurs utilisent le système binaire, il est utile de réfléchir à la raison pour laquelle nous utilisons le système denaire. Notre objectif est de pouvoir représenter des valeurs numériques et communiquer ces valeurs aux autres. Nous pouvons imaginer un système dans lequel nous avions un nouveau personnage pour chaque nombre imaginable. Par exemple, 156 serait en fait un type de ligne trapue avec un crochet sur le dessus, à ne pas confondre avec le symbole de 38, qui serait représenté par un cercle avec une ligne sur le dessus. Ce serait le moyen le plus efficace de représenter les valeurs car vous n’auriez besoin que d’un seul caractère à la fois pour représenter même les plus grands nombres, au lieu d’une chaîne de caractères. Mais ce ne serait pas le plus pratique. Imaginez une enseignante de 1re année testant ses élèves sur la différence entre le personnage représentant 1 589 et le personnage représentant 2 000 478 et tous les personnages entre les deux.

Clairement, il y a une limite au nombre de caractères que nous voulons avoir disponibles dans notre système de représentation. Alors, qu’en est-il de l’extrémité opposée du spectre: un système de comptage avec un seul caractère disponible? Bien sûr, c’est possible — montrez-moi maintenant 2 000 478 en utilisant un système de base-1. De toute évidence, cela n’est pas pratique non plus.

Soudain, le système base-10 a du sens car il n’est pas le seul système numérique disponible, mais un bon ajustement compte tenu de notre besoin de praticité, d’élégance et d’efficacité. Avec seulement 10 caractères disponibles, je peux représenter facilement le nombre 2 000 478 en multipliant la valeur numérique de cette colonne par la puissance suivante de 10, comme illustré ci-dessous:

  • 2 x 10⁶ = 2 000 000
  • 0 x 10= = 0
  • 0 x 10= = 0
  • 0 x 103 = 0
  • 4 x 102 = 400
  • li>

  • 7 x 101 = 70
  • 8 x 10⁰= 8

SUM= 2 000 478

Quel excellent système de représentation des valeurs. Alors pourquoi les ordinateurs n’utilisent-ils pas ce système?

Du denaire au binaire

Les courants électriques fonctionnent (ouverts / allumés) ou ne le sont pas (fermés / éteints), ce qui signifie que nous avons deux caractères de valeur disponibles: 1 et 0. Compte tenu de ces restrictions, nous pouvons utiliser la même méthode que nous avons utilisée pour choisir le système base-10 pour trouver un système de représentation que les ordinateurs peuvent utiliser.Avec seulement deux états disponibles pour représenter des caractères différents, la seule autre alternative au binaire serait un système de décompte. Mais pour représenter la valeur 255 dans un système de comptage, nous aurions besoin de 255 chiffres. C’est 255 transistors « allumés” pour représenter un nombre relativement petit. Le binaire n’a besoin que de 8 pour atteindre le même objectif.

Voici comment binary fait cela.

Un système de base 2 fonctionne de la même manière que le système de base 10, mais au lieu de multiplier la valeur de chaque colonne par le multiple suivant de 2, ils sont plutôt multipliés par le multiple suivant de 2. Par exemple, le nombre binaire 10100 peut être traduit en un nombre de base 10 en additionnant simplement les valeurs calculées ci-dessous :

  • 1 x 2 = = 16
  • 0 x 23 = 0
  • 1 x 22 = 4
  • 0 x 21 = 0
  • 0 x 2 = = 0

De Bits en octets

À partir de là, nous peut commencer à construire une convention sur la façon d’utiliser ce système numérique pour cartographier le monde qui nous entoure sur des impulsions électriques de marche et d’arrêt. D’abord, donnons un nom à nos caractères: des chiffres binaires ou des Bits pour faire court, la plus petite unité de données d’un ordinateur.

Ensuite, nous déterminerons combien de bits il faudra pour représenter une valeur non numérique, comme une lettre ou un caractère spécial. Ce processus est aussi artificiel que le processus de sélection d’un système numérique pour représenter la valeur. Nous avons certains objectifs, certains outils préétablis, et un désir général d’élégance et d’efficacité. Il y a 101 caractères sur un clavier, ce qui signifie que nous devrons représenter 101 en binaire comme valeur maximale. Il s’avère que 101 en base -10 est le nombre 01100101 en binaire. C’est une exigence de base de 7 transistors disponibles si nous voulons mapper chaque clé à une valeur numérique spécifique. Mais que se passe-t-il s’il y a d’autres personnages que nous voulons représenter? Avec 7, tous allumés, nous ne représentons que jusqu’au nombre 127 en base-10. Autant nous donner encore un peu de travail.

Et donc, nous avons des octets, l’unité de base pour mesurer les données, censée représenter au minimum, un seul caractère. Nous pouvons maintenant représenter les valeurs de 0 à 255 (00000000-11111111).

Comme les ordinateurs ne peuvent comprendre que les nombres, l’American Standard Code for Information Interchange (ASCII) a été établi pour attribuer à chaque caractère du clavier une valeur numérique spécifique comme illustré ci-dessous :

À titre d’exemple, voici comment vous représenteriez l’expression « Bonjour le monde!”en binaire :

  • Texte: Bonjour le monde!
  • Numéros ASCII: 072 101 108 108 111 032 087 111 114 108 100 033
  • Binaire: 00110000 00110111 00110010 00100000 00110001 00110000 00110001 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00111000 00100000 00110001 00110001 00110001 00100000 00110000 00110011 00110010 00100000 00110000 00111000 00110111 00100000 00110001 00110001 00110001 00100000 00110001 00110001 00110100 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00110000 00100000 00110000 00110011 00110011

Comme le texte, les images doivent également être converties en binaire. Nous pouvons représenter des images en binaire en divisant une image en une grille de pixels et en décomposant chaque couleur de pixels en une combinaison de 3 couleurs (rouge, vert et bleu), généralement appelée valeur RVB des pixels. La valeur maximale que chacune de ces couleurs peut avoir individuellement est de 255 et la valeur minimale est de 0, ce qui signifie que chaque valeur de couleur pour chaque pixel peut être représentée par 1 octet pour un total de 3 octets par pixel.

À titre d’exemple, nous pouvons représenter la nuance du pixel vert indiqué ci-dessus à l’emplacement (1,0) en RVB et binaire ci-dessous:

  • Valeurs RVB: (6, 250, 7)
  • Binaire: 00000110, 11111010, 00000111

Enfin, nous pouvons également représenter des données sonores en binaire en utilisant « l’échantillonnage ». En représentant graphiquement les ondes sonores d’un son enregistré et en notant les valeurs des hauteurs d’ondes à intervalles réguliers, nous pouvons ensuite convertir ces valeurs en binaires, puis recréer cette onde sonore en utilisant ces valeurs binaires ultérieurement.

Par exemple, l’onde sonore ci-dessus a une valeur décimale de 8 à l’intervalle de temps 1, ce qui lui donne une valeur d’octet de 00001000.

Du binaire à la logique

Il existe de nombreuses façons de stocker des données binaires, notamment des cartes perforées, des bandes magnétiques, des disques optiques, etc. Tous utilisent cette convention de représentation des valeurs dans un système de base-2. Cependant, représenter le monde en binaire n’est que la moitié de la bataille. L’autre moitié fonctionne dessus. Entrez les opérateurs au niveau du bit.

Les opérateurs au niveau du bit opèrent sur des bits individuels et sont les opérations arithmétiques fondamentales utilisées par un processeur. Chaque opérateur bit à bit a un ensemble de règles prédéterminées qui produisent une certaine sortie à deux entrées.

Opérateurs bit à bit et leurs sorties correspondantes

Vous pouvez reconnaître ces outils comme faisant partie d’un système que nous avons utilisé bien avant même que l’électricité ne soit découverte: la logique. Bien qu’un opérateur bit à bit puisse sembler étranger, il est dérivé d’opérateurs logiques et, comme les systèmes numériques, nous utilisons des opérateurs logiques comme opérateurs bit à bit, car ils servent nos objectifs de manière efficace et élégante compte tenu de nos contraintes physiques actuelles.

Notre objectif est de prendre deux valeurs différentes représentées par deux caractères possibles pour produire une nouvelle valeur selon un ensemble de règles déterministes. Vous pouvez voir comment notre système de logique propositionnelle se traduit bien en logique de calcul ci-dessous:

Pensez à l’opérateur ET dans le contexte de cette phrase: « Bob a déjeuné et Bob est allé au cinéma.”Si la première déclaration est vraie et la deuxième déclaration est fausse, alors la phrase est fausse.

T &F =F

Mais si la première instruction est vraie et la deuxième instruction est vraie, alors l’instruction est vraie.

T&T=T

Qu’en est-il de l’opérateur OR: « Bob a déjeuné ou Bob est allé au cinéma”. Si la première déclaration est vraie et la deuxième déclaration est fausse, la phrase est toujours vraie.

T v F =T

Mais si les deux sont faux, la phrase est fausse.

F v F = F

Remplacez maintenant les T et les F par des 1 et des 0 et nous avons les blocs de construction pour manipuler le binaire pour créer de nouvelles chaînes de binaires et donc de nouvelles représentations de valeurs. Nous utilisons ces opérateurs bit à bit dans des portes logiques, des commutateurs électroniques qui utilisent cette logique pour produire de nouvelles valeurs. Imaginez le scénario suivant:

Vous devez allumer la LED en bas à droite dans une calculatrice pour commencer à afficher les chiffres 0, 1, 3, 4, 5, 6, 7, 8, et 9 mais pas le numéro 2. Cela signifie que les nombres binaires 00, 01, 100, 101 110, 111, et 1001 mais pas 10 doivent produire un seul signal ON (1). Pour transformer ces signaux électriques en un seul signal ACTIVÉ pour cette LED, nous pouvons enchaîner 3 portes logiques OU et une porte NON logique ensemble pour nous assurer que ces valeurs aboutissent à un 1 ou à un 0. Ci-dessous, vous pouvez voir un exemple du nombre 7 représenté en binaire (1110) résultant en un seul signal ON, ce qui entraîne l’allumage de la LED en bas à droite.

Quantum Computing

The only exception to this rule of representing the world in 1’s and 0’s in computers lies in Quantum computing.

Quantum computing attempts to use the « spooky” nature of sub-atomic particles to represent represent data. Les photons, par exemple, ont montré un comportement apparemment contradictoire, représentant plusieurs états à la fois. Le comportement à plusieurs états nous donne des valeurs supplémentaires avec lesquelles jouer en plus de l’activation / désactivation typique que nous obtenons généralement avec les signaux électriques. Au lieu d’utiliser un bit pour stocker des données, les ordinateurs quantiques utilisent des qubits, qui peuvent être un 1 ou un 0 ou les deux en même temps.



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.