Résumé:

On se propose dans ce TD de manipuler des masques de bits calculés à la compilation. Les entiers (non signés) seront assimilés à des tableaux de bits dont la première case est le bit de poids faible.


\begin{exercice}
Écrire une classe template {\tt IntervalMask} telle que
\verb+I...
...e, la valeur décimale de \verb+IntervalMask<3,4>::val+ est
$120$.
\end{exercice}


\begin{exercice}
Écrire une classe template {\tt BinInfo} paramétrée par un enti...
... vaut le nombre de bits dans un {\tt int}
et {\tt bloc1} est nul.
\end{exercice}


\begin{exercice}
On désire calculer tous les masques sur les {\tt N} premiers bi...
... par un masque {\tt M}
et qui calcule le masque qui suit~{\tt M}.
\end{exercice}


\begin{exercice}
Justifier que le nombre de masques sur les {\tt N} premiers bit...
...al<N,K>::val+
est une constante égale à $\mathsf{binomial}(N,K)$.
\end{exercice}


\begin{exercice}
Écrire la classe {\tt ArrayMask} de sorte que \verb+ArrayMasque...
...emiers.
Si {\tt I} est trop grand, cette valeur devra être nulle.
\end{exercice}


\begin{exercice}
Écrire une fonction template {\tt print} telle que \verb+print<...
... les {\tt N} premiers
du {\tt I}-ème masque jusqu'au {\tt J}-ème.
\end{exercice}




Sylvain Lombardy 2009-04-10