
Entre temps j'ai rajoute le tableau du code ASCII.

Page 7, exple 4.2 :
connais-tu un moyen simple pour inserer des traits verticaux 
pour "division" ?

\input{courshead.tex}

%----------------------------------------------------------------
\title{
{\huge
\vs
DEUG STPI 1=E8re ann=E9e \\
\vs
D=E9couverte : Informatique \\
\vs
Notes de cours \\
\vs
Partie 1 \\
(septembre - novembre 1999) \\
\vs
\vs
}}

\author{
\Large Anass Nagih \\
\Large D=E9partement d'Informatique \\
\Large Institut Gali=E9e - Universit=E9 Paris-Nord
}
\date{}
%\address{
%D=E9partement d'Informatique\\
%Institut Galil=E9e\\
%Universit=E9 Paris-Nord}
%\email{anass.nagih@lipn.univ-paris13.fr}
%\subjclass{Classe de sujet.}
%\thanks{Merci beaucoup !!!}

%----------------------------------------------------------------
\begin{document}

\maketitle

\thispagestyle{empty}

\newpage

\tableofcontents

\newpage

\input{cours1.tex}
\input{cours2.tex}
\input{cours3.tex}
\input{cours4.tex}
\input{cours5.tex}

\end{document}
--529f_121d-24d7_6d79-2df5_40af
Content-Type: application/octet-stream; name=cours1.tex
Content-Transfer-Encoding: quoted-printable
Content-MD5: 8LinonVp/+SfrXr6zVLvOw==
Content-Description: cours1.tex
Content-Disposition: attachment; filename=cours1.tex

%----------------------------------------------------------------
%	DEUG STPI 1=E8re ann=E9e \\
%	D=E9couverte : Informatique \\
%	Cours~1 \\
%	semaine du 04 octobre 1999 \\

\newpage

%----------------------------------------------------------------
\section{Introduction}
%---------------------

\subsection{But du cours...}
%---------------------------

\subsection{Bref historique...}
%---------------------------
--529f_121d-24d7_6d79-2df5_40af
Content-Type: application/octet-stream; name=cours2.tex
Content-Transfer-Encoding: quoted-printable
Content-MD5: muhMxZzGYRYiRWgUUBbqbA==
Content-Description: cours2.tex
Content-Disposition: attachment; filename=cours2.tex

%----------------------------------------------------------------
%	DEUG STPI 1=E8re ann=E9e \\
%	D=E9couverte : Informatique \\
%	Cours~2 \\
%	semaine du 04 octobre 1999 \\

%	\newpage

%----------------------------------------------------------------
\subsection{Pr=E9sentation g=E9n=E9rale...}
%---------------------------------

informatique =3D traitement automatique de l'information...

\subsection{Principaux =E9l=E9ments d'un ordinateur...}
%-----------------------------------------------

La configuration de base d'un ordinateur comprend~:
\begin{itemize}
\item[$\bullet$] Unit=E9 Centrale (UC)
\item[$\bullet$] \'Ecran (moniteur)
\item[$\bullet$] Clavier
\end{itemize}

On peut trouver =E9galement une souris, une imprimante, un scanner, un =
modem,=20
un zipper, etc.

\section{Quelques unit=E9s de mesures}
%-----------------------------------

Un ordinateur a deux caract=E9ristiques essentielles~:
\begin{itemize}
\item[$\bullet$]=20
la vitesse =E0 laquelle il peut traiter un grand nombre d'informations,=20
\item[$\bullet$]=20
la capacit=E9 de m=E9moriser ces informations.
\end{itemize}

Les principales unit=E9s de mesures utilis=E9es pour comparer des =
ordinateurs=20
et =E9valuer leurs capacit=E9s de calcul sont r=E9sum=E9es ci-apr=E8s.

\subsection*{Capacit=E9 m=E9moire}
%----------------------------

Unit=E9~: {\bf Octet} (s=E9quence de 8 bits).=20
L'unit=E9 centrale g=E8re des mots de quelques octets ($1$ =E0 $8$ =
octets),=20
on parle alors de machine =E0 $8$, $16$, $32$ ou $64$ bits=20
($1$, $2$, $4$ ou $8$ octets). \\

Pour des quantit=E9s de m=E9moire plus importantes, on utilise~: \\
\begin{center}
\begin{tabular}{|l|l|l|}
\hline
Unit=E9		& Abr=E9viation		& Valeur (en bits)			\\ \hline \hline
Bit		& ({\em Binary Digit})	&					\\
		& unit=E9 de base		&					\\
		& de l'information	&					\\ \hline
Octet		& mot			& $8 =3D 2^{3}$				\\
		& (en anglais {\em byte}) & 					\\ \hline=20
Kilo-Octet	& Ko $(10^{3})$		& $2^{10}=3D1024$ 			\\ \hline=20
Mega-Octet	& Mo $(10^{6})$		& $2^{20}=3D1024 Ko =3D 1'048'576$		\\ =
\hline=20
Giga-Octet	& Go $(10^{9})$		& $2^{30}=3D1024 Mo =3D 1'073'741'824$	\\ =
\hline=20
Tera-Octet	& To $(10^{12})$	& $2^{40}=3D1024 Go =3D 1'099'511'627'776$	=
\\ \hline=20
Peta-Octet	& Po $(10^{15})$	& $2^{50}=3D1024 To =3D ...$		\\ \hline=20
\end{tabular}
\end{center}

\subsection*{Fr=E9quence d'horloge}
%-------------------------------

Mesure le nombre d'op=E9rations =E9l=E9mentaires effectu=E9es par le =
processeur=20
pendant une seconde. \\
Unit=E9~: la fr=E9quence se mesure en {\bf Hertz} (Hz, MHz).=20
Un processeur avec une fr=E9quence d'horloge de $200$ MHz signifie qu'il =
=20
effectue $200 \cdot 10^{6}$ op=E9rations =E9l=E9mentaires par seconde.

\begin{remarque}
La fr=E9quence d'horloge n'est pas une indication suffisante pour =
=E9valuer=20
la rapidit=E9 d'un ordinateur.
\end{remarque}

\subsection*{Vitesse (nombre d'op=E9rations)}
%-----------------------------------------

Se mesure, en g=E9n=E9ral, =E0 l'aide de deux nombres~:
\begin{itemize}
\item[$\bullet$] nombre d'op=E9rations enti=E8res par seconde,
\item[$\bullet$] nombre d'op=E9rations sur les r=E9els par seconde.
\end{itemize}
Unit=E9~: {\bf flops}, comme {\em floating-point operations per second}.
\\

\begin{remarque}
La rapidit=E9 d'un ordinateur d=E9pend de la fr=E9quence d'horloge et =
surtout=20
de la vitesse =E0 laquelle circule l'information entre le processeur=20
et les autres composants de l'unit=E9 centrale (RAM, Disque, =E9cran, =
...).
\end{remarque}

\subsection*{D=E9bit}
%-----------------

Permet de mesurer la quantit=E9 de m=E9moire qu'un dispositif de =
stockage=20
(disque dur, lecteur de CD-ROM) peut =E9changer par seconde avec =
l'ext=E9rieur
(nombre d'informations lues ou =E9crites par seconde).\\
Unit=E9~: {\bf baud}  (bit/sec, octet/s, Mo/s).=20

\subsection*{Temps d'acc=E8s}
%------------------------

Le temps n=E9cessaire pour acc=E9der =E0 l'information d=E9sir=E9e sur =
un support=20
de stockage m=E9moire.
\begin{remarque}.
\begin{enumerate}
\item C'est le temps qui s'=E9coule entre le lancement d'une op=E9ration =
=20
d'acc=E8s (lecture ou =E9criture) et son accomplissement.
\item Ce temps ne prend pas en compte le transfert des donn=E9es.
\item Le temps d'acc=E8s moyen d'un disque dur est le temps moyen pour=20
positionner la t=EAte de lecture au d=E9but du bloc m=E9moire auquel on=20
veut acc=E9der.
\end{enumerate}
\end{remarque}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=
%%%%%
\newpage

\section{Cycle d'ex=E9cution}
%--------------------------

L'unit=E9 centrale de traitement est l'=E9l=E9ment moteur de =
l'ordinateur qui=20
interpr=E8te et ex=E9cute les instructions du programme. \\

\begin{tabular}{lllll}
Unit=E9 Centrale & =3D & Unit=E9 Centrale de Traitement & + & M=E9moire =
Principale \\
(UC) & & (UCT) & & (MP) \\
\end{tabular}
\\
\\
L'unit=E9 centrale de traitement ({\em Central Processing Unit} =3D CPU) =
=20
se compose de~:
\begin{itemize}
\item[$\bullet$]=20
Unit=E9 Arithm=E9tique et Logique (UAL)~: \\
zone o=F9 les op=E9rations arithm=E9tiques et logiques sont r=E9alis=E9es=
.
\item[$\bullet$]=20
Unit=E9 de Commande (Unit=E9 de Contr=F4le) (UCo)~:\\
dirige le fontionnement de toutes les autres unit=E9s (UAL, M=E9moire, =
I/O).\\
UCo =3D CP + RI + UDI + Acc
\begin{itemize}
\item[$\bullet$]=20
Compteur de Programmes (compteur ordinal) (CP)~: \\
contient =E0 la fin de chaque cycle d'ex=E9cution l'adresse de la =
prochaine=20
instruction =E0 ex=E9cuter=20
(ou encore, registre contenant l'adresse m=E9moire o=F9 est stock=E9e =
l'instruction=20
=E0 ex=E9cuter).
\item[$\bullet$]=20
Registre d'Instruction (RI)~: \\
registre qui re=E7oit l'instruction qui doit =EAtre ex=E9cut=E9e.
\item[$\bullet$]=20
Accumulateur (Acc)~: \\
registre utilis=E9 pour stocker les r=E9sultats interm=E9diaires des =
diff=E9rents
calculs effectu=E9s.
\item[$\bullet$]=20
Unit=E9 de D=E9codage des Instructions (UDI)~: \\
charg=E9e de traduire les instructions charg=E9es dans le registre RI en =
commandes=20
que les autres composants de l'UC devront ex=E9cuter=20
(op=E9rations arithm=E9tiques, acc=E8s =E0 la m=E9moire, ...).
\end{itemize}
\end{itemize}

Un cycle d'ex=E9cution d=E9termine le fonctionnement g=E9n=E9ral d'un =
ordinateur et=20
comprend les =E9tapes suivantes~:=20
\begin{enumerate}
\item=20
le nombre contenu dans le registre CP d=E9signe une case de la m=E9moire,=

\item=20
le contenu de cette case est transf=E9r=E9 dans le registre RI,
\item le contenu de RI est d=E9cod=E9 par l'unit=E9 de ``d=E9codage =
instruction''=20
afin de d=E9terminer l'op=E9ration =E0 ex=E9cuter,
\item=20
l'op=E9ration est ex=E9cut=E9e (le contenu d'un ou plusieurs registres =
est modifi=E9),
\item CP est incr=E9ment=E9,
\item=20
fin du cycle d'ex=E9cution et d=E9marrage d'un nouveau cycle.
\end{enumerate}

%=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D


--529f_121d-24d7_6d79-2df5_40af
Content-Type: application/octet-stream; name=cours3.tex
Content-Transfer-Encoding: quoted-printable
Content-MD5: bDpYRqdHTKygtPtsMFwEkQ==
Content-Description: cours3.tex
Content-Disposition: attachment; filename=cours3.tex

%----------------------------------------------------------------
%	DEUG STPI 1=E8re ann=E9e \\
%	D=E9couverte : Informatique \\
%	Cours~3 \\
%	semaine du 11 octobre 1999 \\

\newpage

%----------------------------------------------------------------
\section{Codage : changement de base}
Les informations tra=EEt=E9es par l'ordinateur sont de diff=E9rents =
types=20
(nombres, instructions, images, s=E9quences d'images anim=E9es, son, =
...)
mais elles sont toujours repr=E9sent=E9es et manipul=E9es par =
l'ordinateur=20
sous forme binaire. \\

Une information =E9l=E9mentaire correspond donc =E0 un chiffre binaire=20
($0$ ou $1$) appel=E9 {\bf bit}.=20
Une information plus complexe, telle qu'un caract=E8re ou un nombre=20
se ram=E8ne =E0 un ensemble de bits (suite de $0$ et de $1$).=20
Le codage d'une information consiste =E0 trouver une correspondance=20
entre la repr=E9sentation externe de l'information=20
(le caract=E8re A, le nombre 1986, ...) et sa repr=E9sentation interne
qui est une suite de bits.\\

L'avantage de la repr=E9sentation binaire est qu'elle est facile =E0 =
r=E9aliser=20
techniquement, =E0 l'aide de bistables (syst=E8mes =E0 deux =E9tats =
d'=E9quilibre).=20
\\

%\subsection{Changement de base}
%------------------------------

Pour la repr=E9sentation des nombres, on doit d'abord effectuer=20
un changement de base pour les repr=E9senter en base $2$=20
(repr=E9sentation binaire) dans la m=E9moire de la machine.=20

\subsection{Syst=E8me de num=E9ration}

Un syst=E8me de num=E9ration fait correspondre =E0 un nombre $N$ un =
certain=20
symbole d'un ensemble $B$ donn=E9.=20
Dans un syst=E8me de base $b>1$ ($B=3D\{0, 1, ..., b-1\}$), les nombres=20
$0, 1, ..., b-1$ sont appel=E9s {\em chiffres}.\\

Un nombre entier positif peut-=EAtre repr=E9sent=E9 par une expression=20
de la forme~:
$$
N =3D a_{n} \cdot b^{n} + a_{n-1} \cdot b^{n-1}=20
+ ... + a_{1} \cdot b^{1} + a_{0} \cdot b^{0}
=3D \sum_{i=3D0}^{n} a_{i} \cdot b^{i}
$$
avec $a_{i} \in \{0, ..., b-1\}$ et $a_{n} \neq 0$.\\

En notation condens=E9e, le nombre $N$ s'=E9crit d'une fa=E7on =
=E9quivalente=20
sous la forme :
$$
N =3D a_{n}a_{n-1}...a_{1}a_{0}.
$$

\begin{tabular}{lll}
En d=E9cimal,     & $b =3D 10$, & $a_{i} \in \{0, ..., 9\}$ \\
En binaire,     & $b =3D 2$,  & $a_{i} \in \{0, 1\}$ \\
En octal,       & $b =3D 8$,  & $a_{i} \in \{0, ..., 7\}$ \\
En hexad=E9cimal, & $b =3D 16$, & $a_{i} \in \{0, ..., 9, A, ..., F\}$ =
\\
\end{tabular}

\begin{exemple}
Le nombre d=E9cimal $20 \; (b=3D10, \; 20 =3D 2 \cdot 10^{1} + 0 \cdot =
10^{0})$=20
est repr=E9sent=E9 en binaire $(b=3D2)$ par $10100$, soit=20
$1 \cdot 2^{4} + 0 \cdot 2{3} + 1 \cdot 2^{2} + 0 \cdot 2^{1} + 0 \cdot =
2^{0}$.=20
Ce qui s'=E9crit : $20_{10} =3D 10100_{2}$. \\
En base $16$ :  $20_{10} =3D 14_{16}$. \\
\end{exemple}

Une table de conversion pour simplifier les calculs~:
$$
\begin{tabular}{|r|r|r|r|}
\hline
d=E9cimal & binaire & octal & hexad=E9cimal \\ \hline \hline
 0 &     0 &  0 &  0 \\ \hline=20
 1 &     1 &  1 &  1 \\ \hline=20
 2 &    10 &  2 &  2 \\ \hline=20
 3 &    11 &  3 &  3 \\ \hline=20
 4 &   100 &  4 &  4 \\ \hline=20
 5 &   101 &  5 &  5 \\ \hline=20
 6 &   110 &  6 &  6 \\ \hline=20
 7 &   111 &  7 &  7 \\ \hline=20
 8 &  1000 & 10 &  8 \\ \hline=20
 9 &  1001 & 11 &  9 \\ \hline=20
10 &  1010 & 12 &  A \\ \hline=20
11 &  1011 & 13 &  B \\ \hline=20
12 &  1100 & 14 &  C \\ \hline=20
13 &  1101 & 15 &  D \\ \hline=20
14 &  1110 & 16 &  E \\ \hline=20
15 &  1111 & 17 &  F \\ \hline=20
16 & 10000 & 20 & 10 \\ \hline=20
\end{tabular}
$$

\subsection{Conversion binaire - d=E9cimal}
%-------------------------------------------------------

\subsection*{binaire $\rightarrow$ d=E9cimal~:}
%---------------------------------------------

La conversion se fait simplement en additionnant les puissances de $2$
correspondant aux bits de valeur $1$ (voir exemple ci-dessus).

\begin{remarque}
Cette m=E9thode peut-=EAtre utilis=E9 pour passer d'une base quelconque=20
=E0 la base $10$.
\end{remarque}

\subsection*{d=E9cimal $\rightarrow$ binaire~:}
%---------------------------------------------

La convesrion s'effectue par divisions enti=E8res successives par $2$.=20
On s'arr=EAte d=E8s qu'on obtient un quotient nul.=20
Le nombre binaire est obtenu en lisant les restes du dernier vers=20
le premier.
\begin{exemple}.\\
\begin{tabular}{cccccc}
25 &  2 &    &    &    &    \\ \cline{2-2}
\entourer{1} & 12 &  2 &    &    &    \\ \cline{3-3}
   &  \entourer{0} &  6 &  2 &    &    \\ \cline{4-4}
   &    &  \entourer{0} &  3 &  2 &    \\ \cline{5-5}
   &    &    &  \entourer{1} &  1 &  2 \\ \cline{6-6}
   &    &    &    &  \entourer{1} &  0 \\
\end{tabular}

$\Longrightarrow 25_{10} =3D 11001_{2}.$
\end{exemple}

%\epsfig{file=3Dex-dec-bin.eps}

\begin{remarque}
Le premier reste obtenu est le chiffre de poids faible (le plus =E0 =
droite)=20
de la repr=E9sentation en base $2$.=20
Le dernier reste obtenu est le chiffre de poids fort (le plus =E0 =
gauche).
\end{remarque}

\subsection{Codages hexad=E9cimal et octal}
%-------------------------------------------

Les codages hexad=E9cimal (base $16$) et octal (base $8$) sont aussi=20
des codages tr=E8s utilis=E9s en informatique pour deux raisons~:
\begin{itemize}
\item[$\bullet$]=20
les conversions entre les bases $16$ (ou $8$) et $2$ sont tr=E8s simples =
=20
(plus simple qu'entre $10$ et $2$)~;
\item[$\bullet$]=20
le codage est beaucoup plus compact (plus court).
\end{itemize}

Les conversions de la base $10$ en base $16$ ($8$) se font en utilisant=20
le m=EAme principe que pour les conversions de la base $10$ vers la base =
$2$,=20
c'est-=E0-dire en effectuant des divisions successives par $16$ ($8$),=20
dont les restes forment la repr=E9sentation en base $16$ ($8$).

\subsection*{Conversion hexad=E9cimal (octal) $\rightarrow$ binaire~:}
%--------------------------------------------------------------------

La conversion correspond =E0 un ``=E9clatement'' de chaque chiffre =
hexad=E9cimal=20
(octal) en son =E9quivalent binaire sur $4$ ($3$) bits.=20
\begin{exemple}
$2A_{16} =3D 0010 \; 1010_{2}$=20
car $2_{16} =3D 0010_{2}$ et $A_{16} =3D 1010_{2}$. \\
$17_{8} =3D 001 \; 111_{2}$=20
car $1{8} =3D 001_{2}$ et $7_{8} =3D 111_{2}$.=20
\end{exemple}

\subsection*{Conversion binaire $\rightarrow$ hexad=E9cimal (octal)~:}
%--------------------------------------------------------------------

On effectue un remplacement, de droite =E0 gauche, de $4$ ($3$) bits=20
par le chiffre hexad=E9cimal (octal) correspondant.=20
Si le nombre de bits n'est pas multiple de $4$ ($3$),=20
on compl=E8te =E0 gauche avec des z=E9ros.=20
\begin{exemple}
$101101_{2} =3D 2D_{16} =3D 55_{8}$.
\end{exemple}

\subsection{Arithm=E9tique en base $2$}
%---------------------------------------

On peut effectuer des calculs dans une base autre que la base $10$.=20
Il suffit d'avoir la table d'op=E9ration des op=E9rateurs arithm=E9tiques=
=20
dans cette base.=20
Par exemple en binaire :=20
\begin{center}
\begin{tabular}{c|c|r}
$+$ & $0$ &  $1$ \\ \hline
$0$ & $0$ &  $1$ \\ \hline
$1$ & $1$ & $10$=20
\end{tabular}
\hs \hs \hs
\begin{tabular}{c|c|r}
$\times$ & $0$ & $1$ \\ \hline
$0 $     & $0$ & $0$ \\ \hline
$1$      & $0$ & $1$=20
\end{tabular}
\end{center}

\begin{exemple}
En binaire~:=20
\begin{center}
\begin{tabular}{rccccc}
    &     & $1$ & $0$ & $1$ & $1$ \\
$+$ &     &     & $1$ & $0$ & $1$ \\ \hline
    & $1$ & $0$ & $0$ & $0$ & $0$=20
\end{tabular}
\hs \hs \hs
\begin{tabular}{rccccc}
         &     &     & $1$ & $0$     & $1$     \\
$\times$ &     &     & $1$ & $1$     & $0$     \\ \hline
         &     &     & $0$ & $0$     & $0$     \\
$+$      &     & $1$ & $0$ & $1$     & $\cdot$ \\
         & $1$ & $0$ & $1$ & $\cdot$ & $\cdot$ \\ \hline
         & $1$ & $1$ & $1$ & $1$     & $0$=20
\end{tabular}=20
\end{center}
De m=EAme, en hexad=E9cimal~:=20
\begin{center}
\begin{tabular}{rcccc}
    & $1$ & $3$ & $B$ & $9$ \\
$+$ &     & $A$ & $3$ & $4$ \\ \hline
    & $1$ & $D$ & $E$ & $D$=20
\end{tabular}
\end{center}
\end{exemple}

%=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D


--529f_121d-24d7_6d79-2df5_40af
Content-Type: application/octet-stream; name=cours4.tex
Content-Transfer-Encoding: quoted-printable
Content-MD5: a6sllaqBXMvwLoPErUknrQ==
Content-Description: cours4.tex
Content-Disposition: attachment; filename=cours4.tex

%----------------------------------------------------------------
%	DEUG STPI 1=E8re ann=E9e \\
%	D=E9couverte : Informatique \\
%	Cours~4 \\
%	semaine du 18 octobre 1999 \\

\newpage

%----------------------------------------------------------------
\section{Codage : repr=E9sentation en machine}

Lorsque  l'on veut repr=E9senter des informations en machine,  nous
rencontrons  une difficult=E9 suppl=E9mentaire : non  seulement  nous
devons repr=E9senter toutes les informations sous forme de suite de
0  et  de  1, mais en plus le nombre de bits dont nous  disposons
pour  cette  repr=E9sentation est limit=E9 par la  taille  des  mots
m=E9moire qu'est capable de traiter l'unit=E9 centrale.=20
Ainsi, en pratique, nous ne pouvons pas repr=E9senter n'importe=20
quel nombre. \\

On distingue deux types de donn=E9es :=20
les donn=E9es num=E9riques pouvant faire l'objet d'une op=E9ration=20
arithm=E9tique, et les donn=E9es non num=E9riques, par exemple les =
symboles
constituants un texte.=20

\subsection{Repr=E9sentation des entiers}
%--------------------------------------

\subsubsection{Entiers non sign=E9s}
%---------------------------------

Dans un registre de $p$ positions, seuls les entiers positifs $N$=20
tels que $0 \leq N \leq 2^{p}-1$ peuvent =EAtre repr=E9sent=E9s.=20
On parle de registre de longueur $p$.=20

En effet, en remarquant que le plus grand entier $N$ repr=E9sentable sur =
=20
$p$ bits correspond =E0 la repr=E9sentation constitu=E9e de $p$ bits =
valant $1$,
on a=20
$$
N =3D \sum_{i=3D0}^{p-1} 2^{i} =3D 2^{p} - 1.
$$
Par suite, le nombre de valeurs distinctes repr=E9sentables sur $p$ bits
est $2^{p}$.

\begin{exemple}
Avec $p=3D4$,=20
le plus petit entier positif repr=E9sentable est $0000_{2} =3D 0_{10}$=20
et le plus grand entier repr=E9sentable est $1111_{2} =3D 15_{10}$.
Ce qui donne $16$ valeurs possibles.=20
\end{exemple}

\subsubsection{Entiers sign=E9s}
%-----------------------------

Nous devons repr=E9senter en plus de l'entier, son signe.=20
De plus, la repr=E9sentation doit, d'une part,=20
permettre de tester facilement si le nombre est positif ou n=E9gatif,=20
et d'autre part, utiliser (de pr=E9f=E9rence) les m=EAmes circuits pour =
effectuer=20
les op=E9rations sur les entiers sign=E9s ou non sign=E9s.\\

Les entiers n=E9gatifs peuvent =EAtre cod=E9s selon plusieurs m=E9thodes.=

Nous citons par exemple :
\begin{itemize}
\item=20
signe et valeur absolue,
\item
compl=E9ment =E0 1 (compl=E9ment logique),
\item
compl=E9ment =E0 2 (compl=E9ment arithm=E9tique).
\end{itemize}

Nous nous int=E9resserons particuli=E8rement au codage en compl=E9ment =E0=
 2=20
qui reste le plus utilis=E9 aujourd'hui pour repr=E9senter=20
l'oppos=E9 d'un entier.

\subsubsection*{Technique}
Le calcul du compl=E9ment =E0 deux d'un entier en base deux,=20
s'op=E8re en trois =E9tapes :=20
\begin{enumerate}
\item=20
calculer sa repr=E9sentation binaire sur $p$ bits,
\item=20
compl=E9menter tous les bits ; c'est-=E0-dire remplacer chaque bit =E0 =
$0$ par $1$,=20
et vice-versa (=E0 ce stade ci, on a obtenu le compl=E9ment =E0 $1$),
\item
ajouter $1$ au r=E9sultat.
\end{enumerate}

Une autre technique couramment utilis=E9e est la suivante~:
\begin{itemize}
\item=20
parcourir la chaine de bits de droite =E0 gauche jusqu'au premier bit =E0=
 $1$,
\item=20
inverser tous les bits =E0 gauche du bit trouv=E9=20
(ce bit ne doit pas =EAtre modifi=E9).
\end{itemize}

\begin{exemple}
Repr=E9senter $(-6)$ sur quatre bits (en compl=E9ment =E0 $2$)~:
\begin{enumerate}
\item
$+ 6 =3D 0110$
\item=20
compl=E9ment =E0 $1$ : 1001
\item
compl=E9ment =E0 $2$ : $1001 + 1 =3D 1010$\\
$\Longrightarrow -6 =3D 1010$ (en compl=E9ment =E0 $2$).
\end{enumerate}
\end{exemple}

\begin{remarque}
Dans la repr=E9sentation en compl=E9ment =E0 2, le bit le plus =E0 =
gauche=20
indique le signe : $0$ pour $+$, et $1$ pour $-$=20
(l'entier 0 est consid=E9r=E9 comme un entier positf).
\end{remarque}

\begin{exemple}
Codage sur trois bits :=20
$$
\begin{tabular}{|r||c|c|c|c|c|c|c|c|}
\hline
Code   & 000 & 001 & 010 & 011 & 100 & 101 & 110 & 111 \\
\hline
Valeur &  +0 &  +1 &  +2 &  +3 &  -4 &  -3 &  -2 &  -1 \\
\hline=20
\end{tabular}
$$
\end{exemple}

\subsubsection*{
Comment retrouver la valeur d'un entier sign=E9 =E0 partir de son =
codage~?}
\begin{itemize}
\item[$\bullet$]=20
Si le bit le plus =E0 gauche est $0$, il s'agit d'un entier positif.=20
Il suffit d'effectuer une conversion binaire $\rightarrow$ d=E9cimal.
\item[$\bullet$]=20
Si le bit le plus =E0 gauche est $1$, il s'agit d'un entier n=E9gatif.=20
Sa valeur s'obtient en prenant son oppos=E9 (compl=E9ment =E0 2)=20
puis en effectuant une conversion binaire $\rightarrow$ d=E9cimal=20
et en mettant le signe $-$ devant la valeur obtenue.
\end{itemize}

\begin{remarque}
Le nombre de valeurs qu'on peut repr=E9senter (en base 2) sur $p$ bits=20
=E9tant $2^{p}$, le codage en compl=E9ment =E0 2 obeit aux principes =
suivants :
\begin{itemize}
\item=20
les entiers positifs sont repr=E9sent=E9s sur les $p-1$ bits de droite
et le bit le plus =E0 gauche vaut $0$,
\item=20
les entiers n=E9gatifs $N$ sont cod=E9s sous la forme $2^{p} - N$=20
(ce qui s'appelle prendre le compl=E9ment =E0 2 de $N$).
\end{itemize}
\end{remarque}

\begin{remarque}
les entiers positifs =E9tant repr=E9sent=E9s sur $p-1$ bits, donc=20
\begin{itemize}
\item=20
ils sont au nombre de $2^{p-1}$, et=20
\item=20
le plus grand entier positif repr=E9sentable (en compl=E9ment =E0 2)=20
est $2^{p-1} - 1$.
\end{itemize}
\end{remarque}

\begin{remarque}
Le nombre de valeurs possibles sur $p$ bits =E9tant $2^{p}$,=20
il nous reste alors $2^{p-1}$ valeurs possibles pour les entiers=20
n=E9gatifs. D'o=F9 le plus petit entier n=E9gatif repr=E9sentable=20
(en compl=E9ment =E0 2) est $-2^{p-1}$.
\end{remarque}

\subsubsection*{Additions sign=E9es}
%---------------------------------
Une des particularit=E9s de la repr=E9sentation en compl=E9ment =E0 2=20
est que les additions s'effectuent de la m=EAme mani=E8re que sur=20
les entiers non sign=E9s.=20
De plus, nous obtenons un moyen simple d'effectuer les soustractions=20
sans qu'il soit n=E9cessaire de passer par un circuit sp=E9cifique.

\begin{exemple}
Effectuer les op=E9rations suivantes (sur 8 bits) :
\begin{enumerate}
\item
$=20
(+52)_{10} + (+41)_{10} =3D ? \\
\begin{tabular}{rccccccccc}
$52$ & $\longrightarrow$ & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 0 \\
$41$ & $\longrightarrow$ & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 1 \\
\hline=20
$93$ & $\longrightarrow$ & 0 & 1 & 0 & 1 & 1 & 1 & 0 & 1
\end{tabular}
$
\item=20
$=20
-36_{10} - 67_{10} =3D (-36)_{10} + (-67)_{10} =3D ? \\
36_{10} \rightarrow 100100_{2} \rightarrow 00100100=20
\rightarrow 11011100 \rightarrow -36_{10} \\
67_{10} \rightarrow 1000011_{2} \rightarrow 01000011=20
\rightarrow 10111101 \rightarrow -67_{10} \\
\begin{tabular}{rccccccccc}
$-36$  & $\longrightarrow$ & 1 & 1 & 0 & 1 & 1 & 1 & 0 & 0 \\
$-67$  & $\longrightarrow$ & 1 & 0 & 1 & 1 & 1 & 1 & 0 & 1 \\
\hline=20
$-103$ & $\longrightarrow$ & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 1
\end{tabular}
$
\item=20
$=20
123_{10} - 87_{10} =3D (+123)_{10} + (-87)_{10} =3D ? \\
+123_{10} \rightarrow 1111011_{2} \rightarrow 01111011 \\
87_{10} \rightarrow 1010111_{2} \rightarrow 01010111=20
\rightarrow 10101001 \rightarrow -87_{10} \\
\begin{tabular}{rccccccccc}
$123$  & $\longrightarrow$ & 0 & 1 & 1 & 1 & 1 & 0 & 1 & 1 \\
$-87$  & $\longrightarrow$ & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 \\
\hline=20
$36$ & $\longrightarrow$ & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0
\end{tabular}
$
\end{enumerate}
\end{exemple}


Le dernier r=E9sultat s'obtient en tronquant =E0 $8$ bits le r=E9sultat=20
de l'addition.=20
Cette troncature est normale et le r=E9sultat est correct.
\\

Cependant, des erreurs de d=E9pacement de capacit=E9 peuvent survenir=20
lorsque le r=E9sultat de l'addition n'est pas repr=E9sentable sur=20
le m=EAme nombre de bits que les op=E9randes.=20
\\

Dans le cas des entiers sign=E9s repr=E9sent=E9s en compl=E9ment =E0 2,=20
il y a {\bf d=E9pacement de capacit=E9} \underline{si et seulement si}=20
l'addition de deux valeurs de {\bf m=EAme signe} produit un r=E9sultat=20
de {\bf signe diff=E9rent}.

\begin{exemple}=20
(sur 8 bits) \\
$(+105)_{10} + (+87)_{10} =3D ? $\\
\begin{tabular}{rcccccccccl}
$105$ & $\longrightarrow$ &=20
$0$ & $1$ & $1$ & $0$ & $1$ & $0$ & $0$ & $1$ & $> 0$ \\
$ 87$ & $\longrightarrow$ &=20
$0$ & $1$ & $0$ & $1$ & $0$ & $1$ & $1$ & $1$ & $> 0$ \\
\hline=20
$192$ & $\longrightarrow$ &=20
$1$ & $1$ & $0$ & $0$ & $0$ & $0$ & $0$ & $0$ & $< 0$ !!
\end{tabular}
\end{exemple}

Ce r=E9sultat est manifestement faux puisque nous obtenons une valeur=20
n=E9gative (bit de signe =E0 $1$) en additionnant deux nombres positifs.

\subsection{Repr=E9sentation des caract=E8res}
%-----------------------------------------

Les donn=E9s non num=E9riques correspondent aux caract=E8res=20
\begin{itemize}
\item[$\bullet$]  alphanum=E9riques :
A, B, ..., Z, 0, 1, ..., 9=20
\item[$\bullet$]  sp=E9ciaux :
?, !, ``, \$, ;, etc.
\end{itemize}

La principale contrainte concernant les caract=E8res est l'ordre =
alphab=E9tiques.=20
Le caract=E8re A doit pr=E9c=E9d=E9 le carct=E8re B, et le caract=E9re B =
doit pr=E9c=E9d=E9=20
le caract=E8re C, etc.\\

Plusieurs codifications des carat=E8res ont =E9t=E9 propos=E9es :
\begin{itemize}
\item[$\bullet$]=20
BCD [Binary Coded Decimal],=20
un caract=E8re est cod=E9 sur 6 bits~;
\item[$\bullet$]
EBCDIC [Extended Binary Coded Decimal Internal Code]=20
(8 bits)~;
\item[$\bullet$]
ASCII [American Standard Code for Information Interchange]
(7 bits)~;
%employ=E9 par les ordinateurs IBM ;
\item[$\bullet$]
ISO [International Standard Organisation] (8 bits), qui est un ASCII =
=E9tendu~;
%utilis=E9 dans les logiciels d'Internet~;=20
\item[$\bullet$]=20
UNICODE (16 bits), qui contient actuellement 38887 caract=E8res =E0 =
travers le monde~;
\item[$\bullet$]=20
ISO/IEC 10646 (32 bits), une extension de UNICODE.
\end{itemize}

Les deux derniers codes sont plus r=E9cents (d=E9but des ann=E9es 90).=20
En effet, $2^{7}=3D128$ ou $2^{8}=3D256$ valeurs ne suffisent pas pour =
repr=E9senter=20
l'ensemble de tous les caract=E8res de toutes les langues de la plan=E8te=
.=20
Ainsi, le code UNICODE permet de coder $2^{16}=3D65536$ caract=E8res =
diff=E9rents.\\

Cependant, c'est le code ASCII qui est adopt=E9 de fa=E7on=20
quasi universelle (pour l'instant !).=20
Ses principales caract=E9ristiques sont :
\begin{itemize}
\item[$\bullet$]=20
c'est un code sur $7$ bits permettant de coder $128$ $(=3D2^{7})$ =
symboles diff=E9rents~;
\item[$\bullet$]=20
les $32$ premiers~; entre $0$ et $31$ (en hexad=E9cimal entre $00$ et =
$1F$)~;=20
repr=E9sentent les caract=E8res de contr=F4le (ne sont pas affichables), =
(par exemple~:
=E9mettre un bip sonore, passer =E0 la ligne, ...)~;
\item[$\bullet$]=20
Les lettre se suivent dans l'ordre alphab=E9tiques=20
(codes $65$ =E0 $90$ pour les majuscules, $97$ =E0 $122$ pour les =
minuscules)=20
ce qui simplifie les comparaisons par exemple pour faire un tri par =
ordre=20
alphab=E9tique (on passe donc des majuscules aux minuscules en ajoutant =
$32$=20
au code ASCII d=E9cimal)~;=20
\item[$\bullet$]=20
les caract=E8res num=E9riques (chiffres) sont rang=E9s dans l'ordre =
croissant=20
(codes $48$ =E0 $57$).
\end{itemize}

\begin{table}
{\footnotesize
\begin{tabular}{rrrc|rrrc}
D=E9cimal	& Hexa	& Binaire	& Caract=E8re	& D=E9cimal	& Hexa	& Binaire	& =
Caract=E8re	\\ \hline=20
0 	& 0 	& 0		& NUL		& 64		& 40	& 1000000	& @		\\
1 	& 1	& 1		& SOH 		& 65		& 41	& 1000001	& A		\\
2	& 2 	& 10		& STX 		& 66		& 42	& 1000010	& B		\\
3	& 3	& 11		& ETX 		& 67		& 43	& 1000011	& C		\\=20
4	& 4	& 100		& EOT 		& 68		& 44	& 1000100	& D 		\\
5	& 5	& 101		& ENQ 		& 69		& 45	& 1000101	& E 		\\
6	& 6	& 110		& ACK 		& 70		& 46	& 1000110	& F 		\\
7	& 7	& 111		& BEL		& 71		& 47	& 1000111	& G 		\\
8	& 8	& 1000		& BS		& 72		& 48	& 1001000	& H 		\\
9	& 9	& 1001		& HT		& 73		& 49 	& 1001001	& I		\\
10	& A	& 1010		& NL		& 74		& 4A 	& 1001010	& J		\\
11	& B	& 1011		& VT		& 75		& 4B 	& 1001011	& K		\\
12	& C	& 1100		& NP		& 76		& 4C	& 1001100	& L 		\\
13	& D	& 1101		& CR 		& 77		& 4D 	& 1001101	& M 		\\
14	& E	& 1110		& SO 		& 78		& 4E 	& 1001110	& N		\\
15	& F	& 1111		& SI 		& 79		& 4F 	& 1001111	& O		\\
16	& 10 	& 10000		& DLE 		& 80		& 50	& 1010000	& P 		\\
17	& 11	& 10001		& DC1 		& 81		& 51 	& 1010001	& Q 		\\
18	& 12	& 10010		& DC2 		& 82		& 52	& 1010010	& R 		\\
19	& 13	& 10011		& DC3 		& 83		& 53 	& 1010011	& S 		\\
20	& 14 	& 10100		& DC4 		& 84		& 54	& 1010100	& T 		\\
21	& 15	& 10101		& NAK 		& 85		& 55	& 1010101	& U 		\\
22	& 16 	& 10110		& SYN 		& 86		& 56	& 1010110	& V 		\\
23	& 17	& 10111		& ETB		& 87		& 57	& 1010111	& W 		\\
24	& 18 	& 11000		& CAN 		& 88		& 58	& 1011000	& X 		\\
25	& 19	& 11001		& EM 		& 89		& 59	& 1011001	& Y		\\
26	& 1A	& 11010		& SUB 		& 90		& 5A	& 1011010	& Z 		\\
27	& 1B	& 11011		& ESC 		& 91		& 5B	& 1011011	& [ 		\\
28	& 1C 	& 11100		& FS 		& 92		& 5C	& 1011100	& $\backslash$	\\
29	& 1D	& 11101		& GS 		& 93		& 5D	& 1011101	& ] 		\\
30	& 1E	& 11110		& RS 		& 94		& 5E	& 1011110	& $_{\widehat{}}$		\\
31	& 1F	& 11111		& US 		& 95		& 5F 	& 1011111	& \_		\\
32	& 20	& 100000	& SP 		& 96		& 60	& 1100000	& ` 		\\
33	& 21	& 100001	& ! 		& 97		& 61 	& 1100001	& a 		\\
34	& 22 	& 100010	& " 		& 98		& 62 	& 1100010	& b 		\\
35	& 23 	& 100011	& \# 		& 99		& 63 	& 1100011	& c 		\\
36	& 24 	& 100100	& \$ 		& 100		& 64	& 1100100	& d 		\\
37	& 25 	& 100101	& \% 		& 101		& 65 	& 1100101	& e 		\\
38	& 26 	& 100110	& \& 		& 102		& 66 	& 1100110	& f 		\\
39	& 27 	& 100111	& ' 		& 103		& 67	& 1100111	& g 		\\
40	& 28	& 101000	& ( 		& 104		& 68	& 1101000	& h 		\\
41	& 29 	& 101001	& ) 		& 105		& 69 	& 1101001	& i 		\\
42	& 2A 	& 101010	& * 		& 106		& 6A 	& 1101010	& j 		\\
43	& 2B 	& 101011	& + 		& 107		& 6B	& 1101011	& k 		\\
44	& 2C	& 101100	& ,		& 108		& 6C	& 1101100	& l 		\\
45	& 2D 	& 101101	& -		& 109		& 6D 	& 1101101	& m 		\\
46	& 2E 	& 101110	& . 		& 110		& 6E 	& 1101110	& n 		\\
47	& 2F 	& 101111	& / 		& 111		& 6F 	& 1101111	& o 		\\
48	& 30	& 110000	& 0		& 112		& 70	& 1110000	& p 		\\
49	& 31 	& 110001	& 1		& 113		& 71 	& 1110001	& q 		\\
50	& 32	& 110010	& 2		& 114		& 72 	& 1110010	& r		\\
51	& 33	& 110011	& 3 		& 115		& 73 	& 1110011	& s		\\
52	& 34	& 110100	& 4		& 116		& 74	& 1110100	& t		\\
53	& 35 	& 110101	& 5		& 117		& 75 	& 1110101	& u		\\
54	& 36 	& 110110	& 6		& 118		& 76 	& 1110110	& v		\\
55	& 37 	& 110111	& 7		& 119		& 77 	& 1110111	& w		\\
56	& 38	& 111000	& 8 		& 120		& 78	& 1111000	& x 		\\
57	& 39 	& 111001	& 9		& 121		& 79 	& 1111001	& y 		\\
58	& 3A 	& 111010	& :		& 122		& 7A 	& 1111010	& z 		\\
59	& 3B 	& 111011	& ;		& 123		& 7B 	& 1111011	& \{ 		\\
60	& 3C	& 111100	& <		& 124		& 7C	& 1111100	& $|$ 		\\
61	& 3D 	& 111101	& =3D		& 125		& 7D	& 1111101	& \}		\\
62	& 3E 	& 111110	& > 		& 126		& 7E 	& 1111110	& $_{\widetilde{}}$ \\
63	& 3F	& 111111	& ?		& 127		& 7F	& 1111111	& DEL 		\\ \hline=20
\end{tabular}
}
\caption{Code ASCII (d=E9cimal - Hexad=E9cimal - Binaire - Caract=E8re)}
\end{table}

\begin{remarque}
Ce code =E9tant =E0 l'origine fait pour les besoins de l'informatique=20
en langue anglaise ne permet pas de coder les caract=E8res accentu=E9s =
du fran=E7ais,=20
de m=EAme que les caract=E8res sp=E9ciaux d'autres langues (arabe, =
chinoix, ...).
\end{remarque}

La longueur standard minimale des mots trait=E9s par les machines =
actuelles =E9tant=20
de $8$ bits, des extensions du code ASCII, utilisant le $8^{=E8me}$ bit, =
=20
ont =E9t=E9 propos=E9es afin de pouvoir coder des caract=E8res =
sp=E9cifiques=20
d'autres langues, mais ne sont pas universellement reconnues.


%=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--529f_121d-24d7_6d79-2df5_40af
Content-Type: application/octet-stream; name=cours5.tex
Content-Transfer-Encoding: quoted-printable
Content-MD5: qFCWrhyFU08RPabOQjGjZA==
Content-Description: cours5.tex
Content-Disposition: attachment; filename=cours5.tex

%----------------------------------------------------------------
%	DEUG STPI 1=E8re ann=E9e \\
%	D=E9couverte : Informatique \\
%	Cours~5 \\
%	semaine du 22 novembre 1999 \\

\newpage

%----------------------------------------------------------------
\subsection{Repr=E9sentation des r=E9els...}
%------------------------------------

