[PDF] Représentation dun entier en base b





Previous PDF Next PDF



Représentation dun entier en base b

29 sept. 2012 Les chiffres de la base 10 sont 0 1



Représentation dun entier en base b

13 oct. 2012 10. ##################. 11 print Chiffre(4587) . Vous devrez savoir passer de l'écriture décimale à l'écriture binaire d'un entier (sans ...



Exercice no 1 : Passage dune base de numération `a une autre

Pour la base 12 en revanche il faut passer par la base dix : (1001001011)2 = (587)10



Numérations : en base 10 décimale dans dautres bases

L'obtention d'une somme de deux nombres entiers égale à 499 est donc réalisée sans retenue ! 2.2 La soustraction. Pour la pose de la soustraction de x ? y on 



Représentation des nombres

Réaliser les opérations suivantes en base 2 sans passer par la base 10



Conversion entre bases Conversion dun entier. Méthode par

Pour passer d'un nombre en base b à un nombre en base 10 en base 16 on regroupe en paquets de 4 bits de part et d'autre de la virgule.



REPRÉSENTATION DES NOMBRES ENTIERS - EXERCICES

16 des questions 3) et 4) de l'exercice 6 en base 2 DIRECTEMENT. 2. Convertir en base 16 sans passer par la base 10 : 1) (1001010)2. 2) (100010001)2.



Systèmes Logiques (1) Logique combinatoire

2.2 Système décimal (base 10) base B2 il faut passer par la base 10. Mais si la base B1 ... comme une variable binaire pour une autre fonction logique.



Electronique Numérique

Conversion d'un système de numération à un autre. III.1. Conversion de la base 10 à une base X. Conversion de la partie entière. III.1.1. Pour passer d'un 



Number Systems

Systèmes de nombres. Système. Base. Symboles. Décimal. 10. 0 1



[PDF] Conversion entre bases

Pour passer d'un nombre en base b à un nombre en base 10 on utilise l'écriture polynomiale décrite précédemment Pour passer d'un nombre en base 10 à un 



Passer de la représentation dune base à une autre - Maxicours

Passer d'une représentation en base binaire à décimale Convertir un nombre entre les bases binaire et hexadécimale Points clés Pour passer d'un binaire à un 



[PDF] Chapitre 1 : Systèmes de Numération et Codage des Nombres

Pour convertir un nombre de la base 10 vers une base B quelconques il faut faire des divisions successives par B et retenir à chaque fois le reste jusqu'à l' 



[PDF] Exercice no 1 : Passage dune base de numération `a une autre - LIPN

Passage de la base dix vers une base quelconque : écrire les nombres suivants (donnés en base dix) dans la base cible indiquée (a) 255 en base deux Correction 



[PDF] Numérations : en base 10 décimale dans dautres bases

NB : Pour convertir l'écriture d'un nombre n de la base décimale en la base b : 1 On obtient a0 qui est le dernier chiffre du nombre n comme reste dans la 



[PDF] Systèmes de nombres

Conversion du nombre N exprimé en base 10 vers une base X • Conversion d'un nombre entier – Méthode des divisions successives



[PDF] (Nombres - Systèmes de numération)

Diviser le nombre a (en base 10) par la base « B » • Diviser le quotient obtenu par « B » • Recommencer avec les nouveaux quotients jusqu'à obtenir un 



[PDF] Système de numération et base - Lycée dAdultes

28 août 2015 · Notre système de numération est un système décimal de position Il est constitué de 10 chiffres dont la position indique le nombre d'unités de 



[PDF] Numération 1 Systèmes de numération 2 Conversion entre les bases

La conversion consiste tout simplement à regrouper les termes du nombre en base 2 par groupes de 4 en commençant par la droite puis convertir chaque groupe en 



La formule magique pour la conversion dune base à une autre

Dans cette formule (VWXYZ)b = (Z*b0 + Y*b1+X*b2+W*b3+V*b4)10 pour passer de la base b à la base 10 il vous suffit d'effectuer l'opération comme vous le voyez C 

Pour passer d'un nombre en base b à un nombre en base 10, on utilise l'écriture polynomiale décrite précédemment. Pour passer d'un nombre en base 10 à un 
  • Comment passer d'une base à une autre sans passer par la base 10 ?

    La méthode la plus simple pour convertir un nombre décimal en binaire est la méthode euclidienne. On divise le décimal par 2, on note le reste de la division 1 ou 0. On réapplique le même procédé avec le quotient précédent, et on met de nouveau le reste de côté.
  • Comment passer d'une base quelconque à une base 10 ?

    Correction : Il suffit de réaliser les divisions euclidiennes successives : b = 1 × b +0,1=0 × b + 1, donc (b)10 = (10)b ; (j) Supposons que b > 10, et que les chiffres de la base b sont notés en base dix.
  • Comment passer de la base 16 à la base 10 ?

    On décompose en étapes :

    1 on décompose le nombre hexa en chiffre.2 On décompose chaque chiffre en base 16 en quartet (nibble en anglais : paquet de 4 bits) binaire.3 on convertit les quartets binaires en décimal.
  • Pour passer du binaire en hexadécimal : on parcourt le nombre binaire de la droite vers la gauche en regroupant les chiffres binaires par paquets de 4 (en complétant éventuellement par des zéros). Il suffit ensuite de remplacer chaque paquet de 4 par le chiffre hexadécimal.
Représentation dun entier en base b

Représentation d"un entier en baseb

29 septembre 2012

1 Prérequis.

Les bases de la programmation en langage Python sont supposées avoir été travaillées.

2 Objectifs.

Thème de la représentation de l"information : introduire et travailler l"écriture en baseb. Un objectif parallèle : travailler sur

de courts algorithmes et programmes python.

à la base dix et vice versa.

Résumé

Comprendre l"humour geek : " Dans le monde, il y a 10 sortes de personnes : ceux qui comprennent le binaire, et les

autres».

3 0 et 1

La mémoire d"un ordinateur est constituée d"une multitude de petits circuits électroniques. Chacun de ces circuits ne peut

prendre que deux états. On associe traditionnellement l"un des états à 0 et l"autre à 1. De ce fait toute information doit être

traduite dans un ordinateur uniquement par des 0 et des 1. bit est l"abréviation de BInary Digit (chiffre binaire). bit Un octet (en anglais : byte) est une suite de 8 bits. octet

L"état d"un circuit, composé de plusieurs circuits mémoire-un-bit, se décrit par une suite finie de 0

et de 1 qu"on appelle mot. mot

Exercice 1f

serait le nombre d"états possibles de la mémoire de cet ordinateur? Et avec 1 milliard de circuits?

1

Une résolution

Pour l"évolution du nombre de transistors dans un processeur : http://fr.wikipedia.org/wiki/Transistor

Exercice 2f

On veut représenter les 7 couleurs de l"arc en ciel par un mot, les sept mots devant être distincts et de même longueur (en

bits). Quelle est la longueur minimale de ces mots?

Une résolution

Avec un bit, on peut enregistrer deux informations différentes : 0 ou 1. Avec deux bits, on forme 4 mots différents : 00, 01, 10,

11. Avec trois bits, on forme 2

3mots différents : 000, 001, 010, 011, 100, 101, 110, 111.

Il faut donc au moins une longueur 3. Mais on doit aussi pouvoir coder la nature de l"information transmise pour que le

logiciel utilisant cette information sache ici que les mots concernés représentent des couleurs...

4 Exprimer un entier en baseb.

On rappelle que l"écriture usuelle pour les entiers est une écriture décimale ou écriture en base dix, ce qui signifie que l"on

exprime les entiers sous la forme d"une combinaison linéaire de puissances de dix, les coefficients de la combinaison étant

des nombres entiers entre 0 et 9 (ce sont les chiffres de l"entier). Exemple : 5489AE5£103Å4£102Å8£101Å9£100.

Si l"écriture 5489 était l"écriture d"un entier en base seize, 5489 désignerait l"entier 5£163Å4£162Å8£161Å9£160.

Pour distinguer 5489 base dix et 5489 base seize, on peut utiliser certaines conventions de notations. Par exemple : 5489

(16) (ou 5489 seize) signifiera que l"on utilise la base seize.

Ainsi 5489

seizeAE21641dix. Lorsque la base n"est pas précisée, on conviendra qu"il s"agit de la base 10. choisies, ces conventions ne sont pas nécessairement les mêmes dans les divers langages.

Par exemple, dans le langage Python, 5489

(16)sera noté 0x5489 (les chiffres sont précédés du chiffre 0 et de la lettre x minus-

cule). De même, les chiffres d"un entier écrit en base deux seront précédés de 0b et les chiffres d"un entier écrit en base huit

seront précédés de 0o.

Soitbun entier au moins égal à 2. Tout entier naturelnpeut s"écrire sous la forme d"une somme de termes de la

formexibioù les nombresisont des entiers naturels et les nombresxisont des entiers naturels compris entre 0

etb¡1. Les entiers entre 0 etb¡1 constituent les chiffres de la baseb.

A savoir

Ainsi les chiffres des écritures en base 2 sont 0 et 1.

Les chiffres de la base 5 sont 0, 1, 2, 3, 4.

Les chiffres de la base 10 sont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Exercice 3f

En base dix, pour décrire l"entier 4758, on peut écrire : 8 unités, 5 dizaines, 7 centaines et 4 milliers.

En base deux, pour décrire l"entier 1101, on pourra écrire : 1 unité, 0 deuzaine, 1 quatraine, 1 huitaine.

Expliquer les mots choisis.

Exercice 4f

Donner en base dix les entiers 101

deux, 1110deux.

Exercice 5f

1. Quels entiers naturels peut-on écrire en binaire sur un octet? 2 2. Quels entiers naturels peut-on écrire en binaire sur un mot de 32 bits? 3. Quels entiers naturels peut-on écrire en binaire sur un mot de 64 bits?

Exercice 6f

Le tableau ci-dessous présente les premiers entiers en base 4. Compléter. 0 1 2 4 10 11 12 13 20 21

Une résolution

Tableau.

0 1 2 4 10 11 12 13 20 21
22
23
30
31
32
33
100
101
102
103
110
111
112
113
120
121
122
123

Exercice 7f

Les chiffres en base 16 sont habituellement notés 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Expliquer pourquoi on utilise de

nouveaux symboles pour désigner 10, 11, 12, 13, 14, 15 dans cette base.

Une résolution

L"objectif est de faire comprendre que 10 deviendrait ambigu. 10 (16)AE16(10)car 10(16)AE1£16Å0.

Écrire un entier naturel en baseb, c"est expliciter les entiersxide la propriété précédente.

Définition

5 De la basebà la base 10.

Exercice 8f

Traduire en base 10 les entiers suivants :

a

Une résolution

Les réponses sont 418; 116; 2; 5; expression deben baseb: 10; 11. On peut les obtenir avec python avec le code suivant : 3

Python

1 print int ( "1A2" ,16) 2 print int ( "431 " ,5) 3 print int ( "10 " ,2) 4 print int ( "10 " ,5) 5 print int ( "1011 " ,2) ou encore :

Python

1 print 0x1A2 2 print int ( "431 " ,5) 3 print 0b10 4 print int ( "10 " ,5) 5 print 0b1011

Exercice 9f

1.

La fonction ord du langage python renvoie le code ascii (exprimé en décimal) du caractère donné en paramètre. L"ins-

truction ord("a") renvoie par exemple 97, ord("A") renvoie 65.

Qu"obtient-on avec les instructions ord("0")¡ord("0"), ord("1")¡ord("0"), ord("2")¡ord("0"), ..., ord("9")-ord("0")?

2.

Définir une fonction en langage python :

Input : une chaîne de caractères dont les caractères sont les chiffres d"un entier exprimé en base deux.

Output : affichage de cet entier en base 10.

En d"autres termes, on demande d"écrire une fonction ayant le même effet que l"instructionint("1101",2)

à l"aide d"une

boucle ("1101" n"étant ici évidemment qu"une valeur possible du paramètre parmi tant d"autres).

Une résolution

1.

On obtient 0, 1, 2, ..., 9. Ce qui signifie que les chiffres 0, 1, 2, ..., 9 ont des numéros consécutifs dans le code ascii.

2.

Il y a un certain nombre de possibilités.

Première solution :

Python

1 def f (n) : 2 s=0 3 lg=len(n) 4 for j in range(0 , lg ) : 5 s+=(ord(n[ lg¡j¡1])¡ord( "0 " ) )*2**j 6 return s 7 8 print f ( "11 " ) ou (même programmation, variante dans l"utilisation des fonctions de base de python) :

Python

1 def f2 (n) : 2 s=0 3 lg=len(n) 4 for j in range(0 , lg ) : 5 s+=int (n[ lg¡j¡1])*2**j 6 return s 4

On pourrait amener les élèves à réfléchir sur le nombre d"opérations avec une écriture telle que :

abcd (2)AEdÅ2£(cÅ

2£(bÅ2a)). Ce qui donnerait par exemple :

Python

1 def g(n) : 2 s=0 3 while n!= " " : 4 s *=2 5 s+=ord(n[0])¡ord( "0 " ) 6 n=n[1:] 7 return s

Exercice 10f

Modifier la fonction précédente pour obtenir :

Input : un entierbcompris entre 2 et 9, une chaîne de caractères dont les caractères sont les chiffres d"un entiernexprimé

en baseb.

Output : affichage de l"entiernen base 10.

Une résolution

Python

1 def h(b,n) : 2 s=0 3 while n!= " " : 4 s *=b 5 s+=ord(n[0])¡ord( "0 " ) 6 n=n[1:] 7 return s 8 9 print h(5 , "41 " ) Passer de l"écriture en basebd"un entier à l"écriture en base 10.

Savoir Faire

6 De la base 10 à la baseb

6.1 Recherche du plus grand exposant deb

Exercice 11f

Soitnun entier naturel etb>2 un entier. Soitjle plus petit entier des entierskvérifiantnÇbk. 1.

Expliquer pourquoibj¡16n.

2. Quelle autre définition dejpeut-on donner en utilisant l"écriture denen baseb?

Une résolution

1. jest le pluspetittel que ... 2. b

j¡16nÇbj. Donc dans l"écriture denen baseb, on aura des coefficients 0 pourbiaveci>jet l"écriture denen

basebcomporte exactementjchiffres (coefficients deb0,b1,b2, ...,bj¡1). 5

Vous découvrirez et utiliserez la fonction logarithme népérien dans les autres disciplines scienti-

fiques. Cette fonction est notée ln sur vos calculatrices. On définit la fonction logarithme à baseb

(oùbest un réel strictement positif) par logb(x)AEln(x) ln(b)pour tout réelxÈ0.

Fonction logarithme

Le nombre de chiffres dans l"écriture en basebd"un entier naturelnest égal à PartieEntière(logb(n))Å1.

A savoir

Exercice 12f

1. Écrire une fonction python (sans utiliser la fonction log) : input : un entierb>2 et un entier natureln(tous deux exprimés en base 10). output : le nombre de chiffres de l"écriture de l"entiernen baseb. 2. Même question en utilisant cette fois la fonction logarithme du langage python.

Une résolution

Par exemple :

Python

1 coding utf ¡8 2 3 import math 4 5 def nbc(b,n) : 6 j=0 7 while b **j<=n: 8 j+=1 9 return j 10 11 b=5 12 n=87945 13 print nbc(b,n) 14 print int (math. log(n,b) )+1 Pour la partie entière, on peut aussi utilisermath.floor

Exercice 13f

Soitnun entier naturel donné en base 10. Pour écrire cet entier en baseb, on peut procéder ainsi : enlever la plus grande

puissance debpossible... et recommencer 1.

Écrire en base 5 l"entiernAE327.

2.

Chercher sur le web la base shadok et écrire en base shadok l"entiernAE3083. Vous pouvez par exemple visionner :

Une résolution

1.

Les étapes : 327, on enlève 5

3une première fois, on obtient 202. On enlève à nouveau 53, ce qui donne 77. On ne peut

plus enlever 5

3, d"où le chiffre de gauche dans l"écriture en base 5 ...

2. La base shadok est une base 4 : 3083AE300023(4)AEMEUGAGAGAZOMEU. Voir le convertisseur : http://www.dcode. fr/shadoks-ga-bu-zo-meu 6 Remarque. Quelques cas particuliers en python à tester :

Python

1 print oct(65) vers la base 8 2 print hex(65) vers la base 16 3 print bin(65) vers la base 2

6.2 La méthode des divisions en cascade

Pour tout couple d"entiers naturels (a;b) aveca2Netb2N¡{0}, il existe un unique couple (q;r) d"entiers tels

aAEbqÅret 06r6b¡1.qest appelé quotient de la division euclidienne (on parle aussi de division entière) de

aparbetrreste de cette division.

A savoir

Exemple : 34AE9£3Å7, le reste de la division euclidienne de 34 par 9 est donc 7. Par contre le reste de la division euclidienne

de 34 par 3 n"est pas 7 (car le reste dans une division euclidienne par 3 ne peut valoir que 0, 1 ou 2).

On rappelle qu"en python le reste de la division euclidienne dea(de type int) parb(de type int) est obtenu par l"instruction

a%bet le quotient deaparbpara//bou int(a/b).

Pour expliquer le principe de l"algorithme des divisions en cascade, traitons un exemple générique en basebAE5.

On peut écrire :q0AE(3£52Å4£51Å1)£5Å2. On a ainsi écritq0sous la forme 5q1År0oùr0AE2 etq1AE3£52Å4£51Å1.

Commer0est un chiffre de l"écriture en base 5, il est compris entre 0 et 4 et l"écriture 5q1År0permet alors d"affirmer quer0

est le reste de la division euclidienne deq0parb. En généralisant ce raisonnement, on constate :

Le chiffre des unités (c"est à dire le coefficient deb0) de l"entiernen basebest égal au reste de la division eucli-

dienne denparb.

A savoir

Considérons maintenant l"entierq1AE3£52Å4£51Å1 (c"est à dire le quotient de la division deq0parb).

On peut, sur cet entierq1, recommencer le même traitement que sur l"entierq0:q1AE(3£5Å4)£5Å1.

Ainsi le chiffre des unités deq1en basebest le reste de la division entière deq1parb. Et si l"on reporte l"écriture précédente

deq1dans l"écriture deq0, on a :q0AE((3£5Å4)£5Å1)£5År0, on constate que ce chiffre est le coefficient deb1dans

l"écriture deq0. En poursuivant ce raisonnement, on obtient l"algorithme des divisions en cascade :

Soitb>2 un entier etn2N.

1. On calcule le rester0de la division entière denparbet le quotientq1. 2. On calcule le rester1de la division entière deq1parbet le quotientq2. 3. On calcule le rester2de la division entière deq2parbet le quotientq3. 4. 5. Et ainsi de suite jusqu"à obtenir un quotient nulqj.

AlorsnAErjbjÅrj¡1bj¡1Årj¡2bj¡2Årj¡3bj¡3Å¢¢¢År0. En d"autres termes les restes successifs sont les chiffres de

l"écriture denen baseb, ce que l"on écrit parfois sous la formenAE r jrj¡1rj¡2...r1r0(b).

A savoir

7

En d"autres termes, on dispose devant soi denallumettes : on les regroupe par paquets de cinq, il reste 0 ou 1 ou 2 ou 3

ou 4 allumettes à côté des paquets de cinq : c"est le chiffre de droite (chiffre des unités) dans l"écriture de l"entiernen base

cinq. On regroupe ensuite les paquets de cinq (PC) en paquets de cinq (on constitue donc des paquets de cinq paquets PC,

appelons PCC ces paquets). Il reste 0 ou 1 ou 2 ou 3 ou 4 paquets PC à côté des PCC : c"est le second chiffre en partant de

la droite dans l"écriture de l"entiernen base cinq. Et on continue ainsi : on constitue ensuite des PCCC (paquets de cinq

paquets PCC)...

Exercice 14f

1. Écrire l"entiernAE548 en base 7 à l"aide de l"algorithme des divisions en cascade. 2. Écrire l"entiernAE548 en base 5 à l"aide de l"algorithme des divisions en cascade. 3. Si l"on applique l"algorithme des divisions en cascade à l"entiernAE548 etbAE10, qu"obtient-on?

Une résolution

548AE1412(7)et 548AE4143(5).

Exercice 15f

Écrire en python, en utilisant le principe des divisions en cascade :

input : un entierbau moins égal à 2 (et au plus égal à 9 pour simplifier la tâche) et un entiernécrit en base 10.

output : une écriture denen baseb.

Une résolution

Par exemple :

Python

1 coding utf ¡8 2 3 def cascade(b,n) : 4 b entier au moins

égal

2, donné en base 10 5 n entier naturel donné en base 10. 6 renvoie l

écriture

en base b de n par divisions en cascade 7 e=" " 8 while n!=0: 9 r=n%b 10 e=str ( r )+e 11 n=n//b 12 returnquotesdbs_dbs30.pdfusesText_36
[PDF] cours conversion binaire decimal hexadecimal

[PDF] algorithme conversion base 10 en base 2

[PDF] algorithme conversion base 10 en base 16

[PDF] algorithme conversion decimal hexadecimal

[PDF] cours conversion d'énergie

[PDF] les formes dénergie et leur transformation

[PDF] conversion d énergie pdf

[PDF] conversion d'énergie électrique

[PDF] conversion dénergie cours 6eme

[PDF] l énergie et ses conversions 5ème

[PDF] conversion denergie exercice

[PDF] convertir dixième de seconde en seconde

[PDF] exercice conversion temps 6eme

[PDF] conversion de temps tableau

[PDF] tableau de conversion temps microseconde