• Aucun résultat trouvé

Codage de l’information : nombres et caractères

N/A
N/A
Protected

Academic year: 2021

Partager "Codage de l’information : nombres et caractères"

Copied!
143
0
0

Texte intégral

(1)

Codage de l’information : nombres et caractères

Introduction

Germain Gondor

LYCÉECARNOT(DIJON), 2019 - 2020

(2)

Sommaire

1 Problématique

2 Système de numération

3 Le codage des nombres

4 Les caractères

(3)

Problématique

Sommaire

1 Problématique

2 Système de numération

3 Le codage des nombres

4 Les caractères

(4)

Problématique

OBJECTIF : coder les nombres et les caractères à l’aide de codes binaires.

En effet, un ordinateur traite de l’information sous forme numérique binaire.

L’information se caractérise par son contenu (ce qu’elle représente), sa forme (la manière de la formuler), son support (le moyen de la véhiculer).

(5)

Problématique

OBJECTIF : coder les nombres et les caractères à l’aide de codes binaires.

En effet, un ordinateur traite de l’information sous forme numérique binaire.

L’information se caractérise par son contenu (ce qu’elle représente), sa forme (la manière de la formuler), son support (le moyen de la véhiculer).

(6)

Problématique

OBJECTIF : coder les nombres et les caractères à l’aide de codes binaires.

En effet, un ordinateur traite de l’information sous forme numérique binaire.

L’information se caractérise par son contenu (ce qu’elle représente), sa forme (la manière de la formuler), son support (le moyen de la véhiculer).

(7)

Problématique

Le contenu peut concerner des grandeurs numériques (code postal, entier relatif, pixels, etc.), mais aussi desgrandeurs analogiques (son, vitesse de rotation, etc.).

On s’intéresse ici à la forme des informations à traiter et à la notion de codage des nombres et des caractères.

Un code constitue une correspondance entre des symboles et des objets à désigner.

Un code binaireest une correspondance arbitraire entre un ensemble de symboles (0 et 1) et un ensemble d’objets (chiffres, lettres, cou- leurs, etc.).

(8)

Problématique

Norme CEI de 2004 (IEEE 1541)

ATTENTION!

On appelle :

bit (b) : binary digit, unité d’information pouvant prendre la valeur 0 ou la valeur 1

octet (o) :un mot binaire de 8 bits.

byte (B) :terme anglo-saxon équivalent à octet

(9)

Problématique

(10)

Problématique

Préfixes binaires (préfixes CEI)

Préfixes binaires (préfixes CEI) Nom Symb. Puissance de 2

Kibi Ki 210=1 024 Mébi Mi 220=1 048 576

Gibi Gi 230=1 073 741 824 Tébi Ti 240=1 099 511 627 776 Pébi Pi 250=1 125 899 906 842 624

(11)

Problématique

Préfixes décimaux (préfixes SI)

Préfixes décimaux (préfixes SI)

Nom Symb. Puissance de 10 Err.

Kilo k 103=1 000 2 %

Méga M 106=1 000 000 5 %

Giga G 109=1 000 000 000 7 %

Téra T 1012 =1 000 000 000 000 10 % Péta P 1015 =1 000 000 000 000 000 13 %

(12)

Problématique

Remarques

Dans ce deuxième tableau, l’erreur indiquée dans la colonne de droite est celle effectuée quand on utilise un préfixe SI à la place d’un préfixe binaire. L’usage de cette norme ne s’est pas encore généralisé.

Microsoft Windows continue à utiliser à tort les préfixes SI : par exemple 1 ko = 1024 o au lieu de 1000 o. D’autres, comme les systèmes d’exploitation libres de type GNU/Linux, adoptent les préfixes binaires.

(13)

Problématique

Remarques

Dans ce deuxième tableau, l’erreur indiquée dans la colonne de droite est celle effectuée quand on utilise un préfixe SI à la place d’un préfixe binaire. L’usage de cette norme ne s’est pas encore généralisé.

Microsoft Windows continue à utiliser à tort les préfixes SI : par exemple 1 ko = 1024 o au lieu de 1000 o. D’autres, comme les systèmes d’exploitation libres de type GNU/Linux, adoptent les préfixes binaires.

(14)

Système de numération

Sommaire

1 Problématique

2 Système de numération Base de la numération Changement de bases

3 Le codage des nombres

4 Les caractères

(15)

Système de numération Base de la numération

Base de la numération

Définition

Une baseBN ={Ci}i=Ni=1 est un système libre de N éléments (chiffres ou caractères) tel que:

∀a∈N,∃m∈N/a= Xm

j=0

Cj.Nj avecCj ∈ {Ci}Ni=1

∀a∈R+,∃{Cj}j=−∞/a=

+∞

X

j=−∞

Cj.Nj avecCj ∈ {Ci}Ni=1

(16)

Système de numération Base de la numération

Les 3 bases les plus utilisées dans les systèmes industriels sont :

1 Base décimale :

B10=0,1,2,3,4,5,6,7,8,9

2 Base binaire : B2=0,1

Les chiffres sont alors appelés bit pourbinary digit

3 Base hexadécimale :

B16 = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

(17)

Système de numération Base de la numération

Les 3 bases les plus utilisées dans les systèmes industriels sont :

1 Base décimale :

B10=0,1,2,3,4,5,6,7,8,9

2 Base binaire : B2=0,1

Les chiffres sont alors appelés bit pourbinary digit

3 Base hexadécimale :

B16 = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

(18)

Système de numération Base de la numération

Les 3 bases les plus utilisées dans les systèmes industriels sont :

1 Base décimale :

B10=0,1,2,3,4,5,6,7,8,9

2 Base binaire : B2=0,1

Les chiffres sont alors appelés bit pourbinary digit

3 Base hexadécimale :

B16 = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

(19)

Système de numération Base de la numération

Les 3 bases les plus utilisées dans les systèmes industriels sont :

1 Base décimale :

B10=0,1,2,3,4,5,6,7,8,9

2 Base binaire : B2=0,1

Les chiffres sont alors appelés bit pourbinary digit

3 Base hexadécimale :

B16 = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

(20)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(21)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(22)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(23)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(24)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(25)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(26)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(27)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(28)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(29)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(30)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(31)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(32)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(33)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(34)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(35)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(36)

Système de numération Base de la numération

Base décimale B10 Base binaire B2 Base hexadécimale B16

0 0 0

1 1 1

2 10 2

3 11 3

4 100 4

5 101 5

6 110 6

7 111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

(37)

Système de numération Base de la numération

Exemples

Base 10 (2019)10 2.103+0.102+1.101+9.100 Base 2 (11111100011)2

1.210+1.29+1.28+1.27+1.26+1.25 +0.24+0.23+0.22+1.21+1.20 Base Hex (7E3)16 7.162+14.161+3.160

REMARQUE: Pour différencier les bases, on reporte le numéro de la base en indice : (2019)10

(38)

Système de numération Changement de bases

Passage d’une base B

N

à la base décimale B

10

En base BN, chaque chiffre est affecté d’un poids (Nn) avec n le nombre de chiffres à sa droite. Pour obtenir le nombre en base 10, il suffit de faire la somme des chiffres du nombre en base N multipliés par leur poids.

0

0×27 1

1×26 1

1×25 0

0×24 1

1×23 0

0×22 0

0×21 1

1×20 Poids respectifs

Bit de poids fort (MSB) Bit de poids faible (LSB)

+ + + + + +

+ = 105

(39)

Système de numération Changement de bases

Passage d’une base B

N

à la base décimale B

10

En base BN, chaque chiffre est affecté d’un poids (Nn) avec n le nombre de chiffres à sa droite. Pour obtenir le nombre en base 10, il suffit de faire la somme des chiffres du nombre en base N multipliés par leur poids.

0

0×27 1

1×26 1

1×25 0

0×24 1

1×23 0

0×22 0

0×21 1

1×20

Poids respectifs

Bit de poids fort (MSB) Bit de poids faible (LSB)

+ + + + + +

+ = 105

(40)

Système de numération Changement de bases

Passage d’une base B

N

à la base décimale B

10

En base BN, chaque chiffre est affecté d’un poids (Nn) avec n le nombre de chiffres à sa droite. Pour obtenir le nombre en base 10, il suffit de faire la somme des chiffres du nombre en base N multipliés par leur poids.

0

0×27 1

1×26 1

1×25 0

0×24 1

1×23 0

0×22 0

0×21 1

1×20 Poids respectifs

Bit de poids fort (MSB) Bit de poids faible (LSB)

+ + + + + +

+ = 105

(41)

Système de numération Changement de bases

Passage d’une base B

N

à la base décimale B

10

En base BN, chaque chiffre est affecté d’un poids (Nn) avec n le nombre de chiffres à sa droite. Pour obtenir le nombre en base 10, il suffit de faire la somme des chiffres du nombre en base N multipliés par leur poids.

0

0×27 1

1×26 1

1×25 0

0×24 1

1×23 0

0×22 0

0×21 1

1×20 Poids respectifs

Bit de poids fort (MSB)

Bit de poids faible (LSB)

+ + + + + +

+ = 105

(42)

Système de numération Changement de bases

Passage d’une base B

N

à la base décimale B

10

En base BN, chaque chiffre est affecté d’un poids (Nn) avec n le nombre de chiffres à sa droite. Pour obtenir le nombre en base 10, il suffit de faire la somme des chiffres du nombre en base N multipliés par leur poids.

0

0×27 1

1×26 1

1×25 0

0×24 1

1×23 0

0×22 0

0×21 1

1×20 Poids respectifs

Bit de poids fort (MSB) Bit de poids faible (LSB)

+ + + + + +

+ = 105

(43)

Système de numération Changement de bases

Passage d’une base B

N

à la base décimale B

10

En base BN, chaque chiffre est affecté d’un poids (Nn) avec n le nombre de chiffres à sa droite. Pour obtenir le nombre en base 10, il suffit de faire la somme des chiffres du nombre en base N multipliés par leur poids.

0

0×27 1

1×26 1

1×25 0

0×24 1

1×23 0

0×22 0

0×21 1

1×20 Poids respectifs

Bit de poids fort (MSB) Bit de poids faible (LSB)

+ + + + + + +

= 105

(44)

Système de numération Changement de bases

Passage d’une base B

N

à la base décimale B

10

En base BN, chaque chiffre est affecté d’un poids (Nn) avec n le nombre de chiffres à sa droite. Pour obtenir le nombre en base 10, il suffit de faire la somme des chiffres du nombre en base N multipliés par leur poids.

0

0×27 1

1×26 1

1×25 0

0×24 1

1×23 0

0×22 0

0×21 1

1×20 Poids respectifs

Bit de poids fort (MSB) Bit de poids faible (LSB)

+ + + + + +

+ = 105

(45)

Système de numération Changement de bases

Passage de la base décimale B

10

à une base B

N

La passage de la base décimale B10 à une baseBN se fait en recher- chant la puissance deN immédiatement inférieure au nombre décimal à convertir, puis la puissance deN immédiatement inférieure au reste, et ainsi de suite jusqu’à un reste nul.

a=

m

X

j=0

aj.Nj

En factorisant parN, on obtient : a=N.









m−1

X

j=0

aj+1.Nj







 +a0

(46)

Système de numération Changement de bases

Le reste de la division de aparN est égale au coefficient a0. Par divi- sion successive par N, on obtient les autres cœfficients associés aux puissances deBN:

a=N.







 N.









m−2

X

j=0

aj+2.Nj







 +a1







 +a0

(47)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1

52 = 26×2+0 26 = 13×2+0 13 = 6×2+1

6 = 3×2+0 3 = 1×2+1 1 = 0×2+1

105 2 1 52

2 0 26 2

0 13 2

1 6 2

0 3 2

1 1 2

1 0 Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(48)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0

26 = 13×2+0 13 = 6×2+1

6 = 3×2+0 3 = 1×2+1 1 = 0×2+1

105 2 1 52 2

0 26

2 0 13 2

1 6 2

0 3 2

1 1 2

1 0 Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(49)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0 26 = 13×2+0

13 = 6×2+1 6 = 3×2+0 3 = 1×2+1 1 = 0×2+1

105 2 1 52 2

0 26 2 0 13

2

1 6 2

0 3 2

1 1 2

1 0 Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(50)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0 26 = 13×2+0 13 = 6×2+1

6 = 3×2+0 3 = 1×2+1 1 = 0×2+1

105 2 1 52 2

0 26 2 0 13 2

1 6

2

0 3 2

1 1 2

1 0 Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(51)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0 26 = 13×2+0 13 = 6×2+1

6 = 3×2+0

3 = 1×2+1 1 = 0×2+1

105 2 1 52 2

0 26 2 0 13 2

1 6 2

0 3

2

1 1 2

1 0 Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(52)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0 26 = 13×2+0 13 = 6×2+1

6 = 3×2+0 3 = 1×2+1

1 = 0×2+1

105 2 1 52 2

0 26 2 0 13 2

1 6 2

0 3 2

1 1

2 1 0 Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(53)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0 26 = 13×2+0 13 = 6×2+1

6 = 3×2+0 3 = 1×2+1 1 = 0×2+1

105 2 1 52 2

0 26 2 0 13 2

1 6 2

0 3 2

1 1 2

1 0

Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(54)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0 26 = 13×2+0 13 = 6×2+1

6 = 3×2+0 3 = 1×2+1 1 = 0×2+1

105 2 1 52 2

0 26 2 0 13 2

1 6 2

0 3 2

1 1 2

1 0

Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(55)

Système de numération Changement de bases

EXEMPLE :(105)10 ⇔( ?)2

105 = 52×2+1 52 = 26×2+0 26 = 13×2+0 13 = 6×2+1

6 = 3×2+0 3 = 1×2+1 1 = 0×2+1

105 2 1 52 2

0 26 2 0 13 2

1 6 2

0 3 2

1 1 2

1 0 Ainsi 105 en base 10 s’écrit 1101001 en base 2.

(56)

Système de numération Changement de bases

Passage de la base 2

p

à la base 2

q

Pour le passage de la base 2p à la base 2q, le plus simple est de re- passer par la base 2, pour convertir chaque chiffre en son équivalent binaire.

Ainsi chaque chiffre de la base 2p se code en p chiffres de la base binaire (p bits). En convertissant le nombre binaire par paquets de q chiffres (bits), nous obtenons les chiffres du nombre en baseq.

(57)

Système de numération Changement de bases

EXEMPLE : (247)8⇔( ?)4La base 8 se code sur 3 bits (8 = 23), et la base 4 se code sur 2 bit (4=22)

(A)8 = 247

(A)8 = 2

|{z}

010

4

|{z}

100

7

|{z}

111

(A)2 = 10100111 (A)2 = 10

|{z}

2

10

|{z}

2

01

|{z}

1

11

|{z}

3

(A)4 = 2213

(58)

Système de numération Changement de bases

EXEMPLE : (247)8⇔( ?)4La base 8 se code sur 3 bits (8 = 23), et la base 4 se code sur 2 bit (4=22)

(A)8 = 247 (A)8 = 2

|{z}

010

4

|{z}

100

7

|{z}

111

(A)2 = 10100111 (A)2 = 10

|{z}

2

10

|{z}

2

01

|{z}

1

11

|{z}

3

(A)4 = 2213

(59)

Système de numération Changement de bases

EXEMPLE : (247)8⇔( ?)4La base 8 se code sur 3 bits (8 = 23), et la base 4 se code sur 2 bit (4=22)

(A)8 = 247 (A)8 = 2

|{z}

010

4

|{z}

100

7

|{z}

111

(A)2 = 10100111

(A)2 = 10

|{z}

2

10

|{z}

2

01

|{z}

1

11

|{z}

3

(A)4 = 2213

(60)

Système de numération Changement de bases

EXEMPLE : (247)8⇔( ?)4La base 8 se code sur 3 bits (8 = 23), et la base 4 se code sur 2 bit (4=22)

(A)8 = 247 (A)8 = 2

|{z}

010

4

|{z}

100

7

|{z}

111

(A)2 = 10100111 (A)2 = 10

|{z}

2

10

|{z}

2

01

|{z}

1

11

|{z}

3

(A)4 = 2213

(61)

Système de numération Changement de bases

EXEMPLE : (247)8⇔( ?)4La base 8 se code sur 3 bits (8 = 23), et la base 4 se code sur 2 bit (4=22)

(A)8 = 247 (A)8 = 2

|{z}

010

4

|{z}

100

7

|{z}

111

(A)2 = 10100111 (A)2 = 10

|{z}

2

10

|{z}

2

01

|{z}

1

11

|{z}

3

(A)4 = 2213

(62)

Le codage des nombres

Sommaire

1 Problématique

2 Système de numération

3 Le codage des nombres Les nombres entiers naturels Les nombres entiers relatifs Les nombres rationnels

4 Les caractères

(63)

Le codage des nombres Les nombres entiers naturels

Les nombres entiers naturels

DÉFINITION: Codage à champ fixe

Codage sur un nombre de bits n constant (exemple n=8 pour l’octet).

La position occupée par le bits (en partant de 0 et de droite), corres- pond à son poids en puissance de 2.

Il est alors possible de représenter un entier naturel N tel que 0≤N≤2n−1.

(64)

Le codage des nombres Les nombres entiers naturels

Un entier naturel codé sur un octet est forcément compris entre 0 et 255. Lorsqu’il est codé sur 32 bits, alors il est compris entre 0 et 4294967295.

L’Unité Arithmétique Logique (UAL) du processeur est capable de traiter des mots binaires de 32 bits (ou 64 bits).

A la suite d’opérations arithmétiques, des dépassements de capacité (overflow) sont possibles. Ils sont en général évités pour les entiers naturels en découpant si nécessaire le mot binaire en plusieurs de taille acceptable par le processeur, le nombre est recomposé par la suite.

Les langages de programmation commePython, peuvent donc traiter des nombres entiers de taille quasiment infinie.

(65)

Le codage des nombres Les nombres entiers naturels

Un entier naturel codé sur un octet est forcément compris entre 0 et 255. Lorsqu’il est codé sur 32 bits, alors il est compris entre 0 et 4294967295.

L’Unité Arithmétique Logique (UAL) du processeur est capable de traiter des mots binaires de 32 bits (ou 64 bits).

A la suite d’opérations arithmétiques, des dépassements de capacité (overflow) sont possibles. Ils sont en général évités pour les entiers naturels en découpant si nécessaire le mot binaire en plusieurs de taille acceptable par le processeur, le nombre est recomposé par la suite.

Les langages de programmation commePython, peuvent donc traiter des nombres entiers de taille quasiment infinie.

(66)

Le codage des nombres Les nombres entiers naturels

Un entier naturel codé sur un octet est forcément compris entre 0 et 255. Lorsqu’il est codé sur 32 bits, alors il est compris entre 0 et 4294967295.

L’Unité Arithmétique Logique (UAL) du processeur est capable de traiter des mots binaires de 32 bits (ou 64 bits).

A la suite d’opérations arithmétiques, des dépassements de capacité (overflow) sont possibles. Ils sont en général évités pour les entiers naturels en découpant si nécessaire le mot binaire en plusieurs de taille acceptable par le processeur, le nombre est recomposé par la suite.

Les langages de programmation commePython, peuvent donc traiter des nombres entiers de taille quasiment infinie.

(67)

Le codage des nombres Les nombres entiers relatifs

Les nombres entiers relatifs

Signe et valeur absolue (idée 0)

On sacrifie 1 bit pour représenter le signe :+est représenté par0et- par1.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1. PROBLÈME:

• on a deux représentations différentes de0:

00 . . . 0

10 . . . 0.

• Il est difficile d’effectuer des opérations sur les nombres car le bit de signe doit être traité à part.

(68)

Le codage des nombres Les nombres entiers relatifs

Les nombres entiers relatifs

Signe et valeur absolue (idée 0)

On sacrifie 1 bit pour représenter le signe :+est représenté par0et- par1.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

PROBLÈME:

• on a deux représentations différentes de0:

00 . . . 0

10 . . . 0.

• Il est difficile d’effectuer des opérations sur les nombres car le bit de signe doit être traité à part.

(69)

Le codage des nombres Les nombres entiers relatifs

Les nombres entiers relatifs

Signe et valeur absolue (idée 0)

On sacrifie 1 bit pour représenter le signe :+est représenté par0et- par1.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

PROBLÈME:

• on a deux représentations différentes de0:

00 . . . 0

10 . . . 0.

• Il est difficile d’effectuer des opérations sur les nombres car le bit de signe doit être traité à part.

(70)

Le codage des nombres Les nombres entiers relatifs

Les nombres entiers relatifs

Signe et valeur absolue (idée 0)

On sacrifie 1 bit pour représenter le signe :+est représenté par0et- par1.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

PROBLÈME:

• on a deux représentations différentes de0:

00 . . . 0

10 . . . 0.

• Il est difficile d’effectuer des opérations sur les nombres car le bit de signe doit être traité à part.

(71)

Le codage des nombres Les nombres entiers relatifs

Les nombres entiers relatifs

Signe et valeur absolue (idée 0)

On sacrifie 1 bit pour représenter le signe :+est représenté par0et- par1.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

PROBLÈME:

• on a deux représentations différentes de0:

00 . . . 0

10 . . . 0.

• Il est difficile d’effectuer des opérations sur les nombres car le bit de signe doit être traité à part.

(72)

Le codage des nombres Les nombres entiers relatifs

Les nombres entiers relatifs

Signe et valeur absolue (idée 0)

On sacrifie 1 bit pour représenter le signe :+est représenté par0et- par1.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

PROBLÈME:

• on a deux représentations différentes de0:

00 . . . 0

10 . . . 0.

• Il est difficile d’effectuer des opérations sur les nombres car le bit de signe doit être traité à part.

(73)

Le codage des nombres Les nombres entiers relatifs

Complément logique (ou complément à 1 - idée 1)

Dans le cas du complément logique, les nombres positifs sont sim- plement représentés par leur écriture en base 2. Pour les nombres négatifs, on remplace chaque bit à 0 par 1 et vice versa.

EXEMPLE :Représentation de-3sur 4 bits

3 est représenté par0011. Donc en complément à 1, -3sera repré- senté par1100.

(74)

Le codage des nombres Les nombres entiers relatifs

Pour retrouver le nombre à partir de sa représentation en complément à 1 :

• si le bit de gauche est0, le nombre est positif et on a sa représentation en binaire

• si le bit de gauche est1, alors le nombre est négatif et pour trouver sa valeur absolue, on inverse les bits.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

(75)

Le codage des nombres Les nombres entiers relatifs

Pour retrouver le nombre à partir de sa représentation en complément à 1 :

• si le bit de gauche est0, le nombre est positif et on a sa représentation en binaire

• si le bit de gauche est1, alors le nombre est négatif et pour trouver sa valeur absolue, on inverse les bits.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

(76)

Le codage des nombres Les nombres entiers relatifs

Pour retrouver le nombre à partir de sa représentation en complément à 1 :

• si le bit de gauche est0, le nombre est positif et on a sa représentation en binaire

• si le bit de gauche est1, alors le nombre est négatif et pour trouver sa valeur absolue, on inverse les bits.

On code ainsi avec un mot de n bits les entiers relatifs Z tels que :

−(2n−1−1)≤Z ≤2n−1−1.

(77)

Le codage des nombres Les nombres entiers relatifs

EXEMPLE :6-3=3avec6=0110et3=0011.

Calcul en décimal Calcul en binaire

6 0110 0010

Facile, on connaît : - 3 + 1100 ⇒ + 0001

3 1 0010 0011

(78)

Le codage des nombres Les nombres entiers relatifs

PROBLÈME: 0est codé de deux façons différentes :

• 00 . . . 0

• 11 . . .1

Références

Documents relatifs

I Le signe du nombre sera codé par le bit de plus haut poids de la mantisse : "0" pour les réels positifs, "1" pour les réels négatifs ; à l’image de la

Les créateurs de ce code se limitèrent à 7 bits pour coder un caractère : celui-ci pouvait donc être stocké en mémoire sur un octet (8 bits), puisqu'ils réservaient toujours le

On additionne les deux chiffres plus la retenue : Si le résultat est 0 : on écrit 0 et on retient 0 Si le résultat est 1 : on écrit 1 et on retient 0 Si le résultat est 2 : on écrit

Une Méthode pour développer une expression du type (a+b) 2 Développer et réduire l’expression G= (4y + 3) 2. 3) On calcule chacun des termes. 3) On calcule chacun des termes. 3)

[r]

 S'il n'y a pas de débordement, le résultat tient dans la précision requise, la retenue n'a

La valeur r´eelle de l’exposant est la valeur cod´ee moins la valeur E max , avec E max qui est ´egale `a la moiti´e de la valeur que l’on peut coder avec une pr´ecision de n

Suite de nombres pour coder l’information (Couleur) contenue dans chaque petit carré qu’on appelle pixel (PICture ELement) :. Image en noir et blanc 1 bit pour