Partie entraînement : dérouler (et enrouler) les questions ;
essayez de battre votre record !
Le programme de première peut se découper en sept parties et
l'examen E3C propose différents sujets constitués par sept QCM
de six questions chacun, soit 42 questions en tout, en moins
de deux heures.
Cela fait donc en moyenne 2 à 3 minutes par
question, il y a donc intérêt à être entraîné !
Votre score : 0 | |||
------------
Le principe d'écriture est le même pour tous les nombres
en chiffres arabes (écriture du plus petit à droite
et du plus grand à gauche) ; s'il y a N chiffres,
le nombre est la somme
de tous ses chiffres que multiplie sa base élevée à la puissance
N-n-1 pour n allant de 0 à N-1
Cela donne par exemple pour
la base 2 : le nombre décimal 137 s'écrit en binaire 10001001
car 10000101 = 27 + 23 + 10
= 1 x 128 + 1 x 8 + 1 x 1
Cela donne par exemple pour la base 16 (hexadécimale) :
le
nombre décimal 133 s'écrit en hexadécimal 85
car 133 = 8 x 161 + 5 x 160
le nombre décimal 195829793 s'écrit en hexadécimal bac2021
en notant A = 10, B = 11, etc …
car 195829793 = 11 x 166+ 10 x
165+ 12 x 164+ 2 x 163+ 2 x 16
1+ 1 x 160
La base deux utilise uniquement les symboles 0 et 1 pour écrire tous les nombres.
Les nombres entiers sur un octet vont de -127 à +127, le
codage du signe négatif se fait par
complémentation à deux
de son opposé.
Cela signifie que chaque bit est
inversé puis on ajoute 1 au résultat, par exemple :
le complément à 2 de 7 sur un octet (0000 0111) est 1111 1000 +
1 soit 1111 1001 qui est égale à l'opposé de 7 ; soit -7
(cf. wikipedia)
Remarques :
Seuls les nombres qui sont composés de la somme de puissances de 2 sont entièrement représentables sans erreur d'arrondi. Par exemple :
3*256 + 2*8 + 5*1/8 s'écrit en décimal 784.625 et
dans
l'ordinateur, ce nombre sera décomposé en deux parties en
utilisant la notation dite ingénieur ; ce nombre sera composé
d'un décimal juste inférieur à 1 : ici ce sera 0,784625 ; et
pour égaler le nombre initial on l'associera à une puissance de
10 : ici 103.
Ce nombre sera donc composé :
Des sites qui expliquent bien tout cela :
En python les nombres dans des bases différentes de la base décimale s'écrivent avec un préfixe commençant par zéro suivi d'une lettre correspondant à l'initial du nom de la base, par exemple :
Nombre décimal | binaire : 0b | octal 0o | headecimal : 0x |
---|---|---|---|
16 | 0b1111 | 0o20 | 0x10 |
256 | 0b11111111 | 0o400 | 0x100 |
255 | 0b10000000 | 0o377 | 0xff |
Les fonctions built'in bin,
oct et hex renvoient
sous forme de string l'écriture respectivement binaire, octale
et
hexadécimale d'un nombre N. Par exemple si N = 16 hex(N) renvoie
'0x10', si N = 256 bin(N) renvoie '0b11111111'
Convertir un type str en un entier se fait par la fonction int mais avec deux arguments, par exemple int(hex(17), 16) renvoie le nombre 17, hex(17) renvoie '0x11' ; int(hex(17), 10) renvoie une erreur car la base n'est pas 16 ici .
La méthode toString(N) permet de convertir un nombre en
base 10 en nombre en base N (jusqu'à la base 36 = 10 + 26
lettres de l'alphabet) ; si nb = 16 alors
nb.toString(16) affiche 10 ; exemple
Code
amusant à étudier