\documentclass[12pt,a4paper]{article}
%\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage[francais]{babel}

\topmargin -0.5in
\textheight 10in
\textwidth 6.25in
\evensidemargin -0.15in
\oddsidemargin = \evensidemargin

%\special{landscape}

\begin{document}
\date{}
\title{TD 1 : Architecture des Ordinateurs,  Les Nombres}
\author{Première année d'IUT Informatique}
\maketitle

\section{Les ordres de grandeurs}


\begin{enumerate}
\item Calculer la place mémoire occupée par une image en $256$ niveaux de gris de $1024\times1024$ pixels.
\item Même question pour une image couleur RGB (rouge,vert,bleu) de même taille, où chaque composante est sur $256$ niveaux.
\item Sachant qu'un film se compose de 25 images par secondes. Quelle est la taille en octets d'un film d'une heure? Dans un DVD commercial la partie film proprement dite fait environ 5Go. Quelle est le taux de compression ?
\item Supposons qu'un livre contienne 500 pages de 80 lignes de 100 caractères chacune (ponctuations et  blancs compris).
   Combien de caractères composent ce livre? 
   Sachant qu'un octet représente un caractère, combien de livres faut-il pour avoir l'équivalent de 30Go ?
 Enfin l'épaisseur de ce livre est de 2cm, quelle hauteur de livres obtient-on avec 30Go? 
  

\end{enumerate}

\section{les entiers en machine}

Pour représenter les nombres nous utilisons habituellement la base dix, mais elle est peu adaptée à une représentation machine où la base $2$ ainsi que les puissances de $2$ sont assez naturelles.
Nous trouvons ainsi le binaire (base $2$), l'octal (base $8=2^3$) et l'hexadécimal ($16=2^4$).

L´écriture d´un nombre $X$ en base $\beta$ sur $n$ chiffres pris dans ${0,1,...,\beta-1}$ est :
$$ X = \sum_{i=0}^{n}x_i\beta^i$$


\subsection{Les changements de bases}

\begin{enumerate}
\item Exemples
\begin{enumerate}

\item Convertir le nombre $1515$ de la base dix à la base deux.
\item Convertir le nombre $732$ de la base dix à la base seize (hexadécimal).
\item Convertir le nombre $CAFE$ de la base seize à la base dix.
\item Convertir le nombre $888$ de la base neuf à la base 2.
\item Convertir le nombre $738$ de la base neuf à la base 5.
\end{enumerate}
\item Donner un algorithme général de conversion d'une base dans une autre.
On considère ici que les nombres sont des chaînes de caractères (les chiffres) et que nous disposons du type nombre-machine pouvant servir d'intermédiaire.
\item Ecrire $X = 314_{10}$ en binaire puis en hexadécimal et en octal.
% Xd = 100111010   et Xh = 13A

\item Ecrire $Y = 1000101011_2$ en hexadécimal en octal puis en décimal.
% Yh = 22B et Yd=555

\item Ecrire $Z = FAC_{16}$ en binaire, en octal puis en décimal.
% Zb = 111110101100 et ZD = 4012


\end{enumerate}

\subsection{L'addition}
\begin{enumerate}
\item Faire l'addition en binaire de $1000101011$ et de $100111010$. 
\item Additionner (en hexadécimal) $FACE$ et $BABA$. Vérifier en base dix.
\item Donner un algorithme d'addition dans une base quelconque $\beta$.
\end{enumerate}




\subsection{Complément à deux}
\subsubsection{la représentation}


\begin{enumerate}
\item Pour représenter un nombre nous utilisons $n$ chiffres binaires. Combien de valeurs distinctes peuvent être représentées?
\item Si nous désirons représenter des entiers négatifs et des entiers positifs sur $n$ chiffres binaires, quelles valeurs extrêmes peut on obtenir ?
\item Dans ce dernier cas quel codage proposez vous pour les positifs et pour les négatifs ? Comment lire le signe, la valeur absolue d'un nombre, faire l'addition, la soustraction de 2 nombres?


\item La représentation $R_x$ en complément à la base d'un entier $X$ est définie comme suit. Si $X\geq 0$, $R_x$ est le codage binaire de $X$. Si $X<0$, $R_x$ est le codage binaire de $X + 2^n $, où $n$ est le nombre de bits utilisés pour le codage.

Remplir le tableau suivant:

\begin{tabular}{|c|c|c|}
\hline

en binaire sur $32$ bits & signées en complément à deux & valeurs non signées \\

\hline

$000...000$ &  &  \\
\hline
$000...001$ &  &  \\
\hline
$000...010$ &  &  \\
\hline
$...$ & $...$ & $...$ \\
\hline
$011...110$ &  &  \\
\hline
$011...111$ &  &  \\
\hline
$100...000$ & & \\
\hline
$100...001$ & &  \\
\hline
$...$ & $...$ & $...$ \\
\hline
$111...111$ & &  \\
\hline

\end{tabular}

\end{enumerate}
% \begin{tabular}{|c|c|c|}
% \hline

% en binaire sur $32$ bits & signées en complément à deux & valeurs non signées \\

% \hline

% $000...000$ & $0$ & $0$ \\
% \hline
% $000...001$ & $1$ & $1$ \\
% \hline
% $000...010$ & $2$ & $2$ \\
% \hline
% $000...011$ & $3$ & $3$ \\
% \hline
% $...$ & $...$ & $...$ \\
% \hline
% $011...110$ & $2^{31}-2=2147483646$ & $2^{31}-2=2147483646$ \\
% \hline
% $011...111$ & $2^{31}-1=2147483647$ & $2^{31}-1=2147483647$ \\
% \hline
% $100...000$ & $2^{31}-2^{32}=-2147483648$& $2^{31}=2147483648$ \\
% \hline
% $100...001$ & $(2^{31}+1)-2^{32}=-2147483647$& $2^{31}+1=2147483649$ \\
% \hline
% $...$ & $...$ & $...$ \\
% \hline
% $111...111$ & $(2^{31}+2^{31}-1)-2^{32}=-1$& $2^{32}-1=4294967295$ \\
% \hline

% \end{tabular}

\subsubsection{Exemples}
Nous supposons les entiers codés sur 16 bits en complément à deux.
\begin{enumerate}
\item Quelles sont la plus grande valeur positive et la plus petite valeur négative représentables?
\item Faites l'addition binaire de $1$ et $-1$, tous deux écrits en complément à deux sur $16$ bits. Que se passe-t-il?
\item Comment construit-on l'opposé d'un nombre dans cette représentation?
\item Donner le codage en complément à deux sur 16 bits de $213$, $-213$, $1201$ et $-54$.
\item Quelles sont les valeurs décimales des nombres $0000001101001001$ et 
  $1111111101011100$ codés  en complément à deux?
\item Comment faire une soustraction en complément à deux?
\item Additionner $0110101101001001$ et $0001101101001001$. Comment interpréter le résultat?
\item Discuter des avantages et inconvénients de la représentation en complément à deux par rapport à la représentation précédente.
\end{enumerate}


\end{document}











