CODINGAMSLIVE ★ AMSLIVE n°01 - INITIATION A LASSEMBLEUR : LES BASÉS ★

AMSLIVE n°01 - InitCoding Amslive

Double sens pour ce titre : la compréhension des bases et en particulier du binaire est indispensable à tout programmeur qui compte... se respecter.

Des sacs de sacs de billes.

Imaginez un tas de billes -bah oui, c'est comme ça que j'ai appris les bases à l'école primaire, mais si vous préférez visualiser des boulons ou des loukoums, ça marche aussi. Maintenant supposez que, guidé(e) par je ne sais quelle pulsion psychotique, vous rangiez vos billes dans des sacs verts avec la règle : 3 billes (ni plus ni moins) par sac. Le grincheux de service, qui d'ailleurs préfère les pogs, fait remarquer qu'il peut rester des billes non rangées. C'est vrai, il peut en rester 0, 1 ou 2, ce sont les unités.
A présent, rangeons nos sacs verts dans des sacs rouges à raison là encore de 3 par sac.

Un sac vert= 3 billes.
Un sac rouge = 3 sacs verts.
A 1 bille isolée, 2 sacs verts isolés et 2 sacs rouges correspondent combien de billes ?
Que ceux qui ont répondu 25 m'envoient 10 Frs et que les autres m'envoient 30 Frs et regardent le dessin. Merci d'avance. Vous saurez dorénavant écrire 25 en base 3 :
221.
221 <> deux cent vingt et un.

Lire deux cent vingt et un reviendrait à considérer ce nombre en base 10, à savoir 2 * Cent + 2 * Dix + 1 * Unité. Or ici c'est 2 * neuf + 2 * trois + 1. Un sac rouge contient bien 3*3 billes, non ? Si on avait eu besoin de sacs jaunes contenant 3 sacs rouges, ils auraient contenu 3*3*3 billes.

Il s'agit du principe de l'écriture d'un nombre dans une base n : le chiffre le plus à droite représente le nombre d'unité, le deuxième le nombre de paquets de n, le troisième le nombre de paquets de n * n, ...

On parle de rang du chiffre pour désigner sa position, et de son poids pour indiquer le nombre auquel il faut le multiplier (en base 10 les poids sont : unité, dizaine, centaine, millier, etc. 1997 = 1 * 10 * 10* 10 + 9* 10* 10 + 9 * 10 + 7).

Quelques propriétés.

Dans une base n, on n'a besoin que de n chiffres : de 0 à 9 dans la base 10, de 0 à 2 dans la base 3. En effet, si à un rang on dépasse la valeur de la base, il faut incrémenter le chiffre du rang précédent (quarante douze = cinquante deux). Vous vous souvenez de vos longues observations de compteurs a gaz ? Quand la roulette est à 9, elle repasse à 0 en incrémentant celle de gauche. Dans la base 3, le même phénomène se passe, mais après 2 ; comptons : 000, 001, 002, 010, 011, 012, 020,021,022, 100, 101 ...


Un sac doit contenir 3 billes ou 3 sacs.
Pour le décompte, on ne considère que les billes et les sacs
non contenus dans un sac.
Ici, une bille, 2 sacs de 3 et 2 sacs de 3x3.

Dans une base n, en rajoutant un 0 à droite, on multiplie le nombre par n. Illustration :

A = 1 3 4 = 1*n*n + 3*n + 4
B = 1 3 4 0 = 1*n*n*n + 3*n*n + 4*n
; = n*(1*n*n + 3*n + 4)
; = n*A

Dans une base n, le nombre n s'écrit 10, le nombre n*n s'écrit 100, etc..

D'une base a l'autre.

Pour convertir d'une base n à la base 10, plus de problème normalement. 302 en base 4 = 3*16 + 0*4 + 2 = 50. Mais dans l'autre sens comment faire ? Le rangement de billes nous indique la solution : quand on range par paquets de 3, on divise par 3. Ainsi 25 divise par 3 donne 8, avec un reste de 1. 8 divise par 3 donne 2 avec un reste de 2. On retrouve bien 221. Essayons d'exprimer 50 en base 4 : 50 donne 12 paquets de 4 et 2 unités, 12 donne 3 paquets (de 4 paquets) et il ne reste plus de paquets de 4. On retrouve 302.

Le binaire.

Il s'agit de la si particulière base 2. Ce paragraphe est l'occasion de corriger une erreur parfois faite dans l'enseignement informatique.

S'il est vrai que les fameux états 0 et 1 ne correspondent qu'arbitrairement à une réalité physique (par exemple 0 : 4 V et 1 : -1 V), s'il est vrai qu'on peut attribuer à chacun des états un sens tout aussi arbitraire (Vrai/Faux, Allume/Eteint, ...), il n'en reste pas moins que pour le microprocesseur, il s'agit aussi des valeurs mathématiques 0 et 1 (neutre et unité pour l'addition, absorbant et neutre pour la multiplication).

Quel heure est-il ?

La numération horaire est une "fausse" base sexagésimale (base soixante) : chacun des rangs (seconde, minute) fait incrémenter l'autre (respectivement minute, heure) une fois atteint soixante, mais ces rangs sont eux mêmes représentées en décimal : avec une vraie base 60, il faudrait 60 signes différents (pour la base 16, on ajoute les lettres A à F afin d'avoir 16 chiffres (NDSNN : A ce propos, avez-vous remarqué que nous sommes les seuls à numéroter nos pages en hexadécimal ?)). De plus les secondes devraient être décomposées en 60ieme de seconde...

Des chiffres et des lettres.

Afin d'achever cet article mais aussi ceux qui le lisent, voici le fruit visqueux d'une réflexion personnelle. L'écriture en lettres (et du même coup l'élocution) des nombres
ne rend pas compte de leur écriture en base 10. Ainsi pour suivre la même logique de construction, 11 devrait se lire dix un, tout comme 101 se lit cent un. 73 : sept dix un.
Une autre méthode rigoureuse serait d'énoncer les chiffres un par un : un un, un zéro un, sept trois. Comme quoi les belges ne sont pas si bêtes, sauf qu'ils ne disent pas unante, deuxante ni huitante.

AMSLIVE n°1

★ ANNÉE: ???
★ AUTEUR: MADRAM

Page précédente : AMSLIVE n°01 - Balayage Video

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » AMSLIVE n°14 - Sound Player 2
» Coding » AMSLIVE n°12 - Rom Pour les Matelots
» Coding » AMSLIVE n°10 - Memoire du CPC 2
» Coding » AMSLIVE n°05 - Multiplication de Solutions
» Coding » AMSLIVE n°06 - Rsx Amsdos
» Coding » AMSLIVE n°04 - Initiation Au Soundtracker
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 805 millisecondes et consultée 2712 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.