coursc/operateurs/04.tex
Florian Maury 0b4615ed74 initial
2014-02-24 18:38:56 +01:00

23 lines
1.2 KiB
TeX

\begin{frame}[containsverbatim]
\frametitle{\secname}
\framesubtitle{\subsecname~: L'opérateur $\sim$ (non binaire)}
Cet opérateur préfixe son opérande.
\vspace{0.3cm}
\par
La valeur retournée par l'opérande est transformée en son complément à 1. Autrement dit, tous ses bits à 0 passent à 1, et tous ses bits à 1 passent à 0.
{\small\begin{alertblock}{Attention à la taille de l'opérande !}
La \textbf{taille en mémoire} de l'opérande est \textbf{capitale} pour cet opérateur.
\par
Par exemple, un \verb|char| x (de taille 1 octet, soit 8 bits) de valeur 1 est représenté en mémoire par \texttt{00000001}.
\par
$\sim$x vaut alors \texttt{11111110}.
\par
Si x était un \verb|int|, alors sa représentation en mémoire serait 31 bits à 0, et 1 bit à 1. $\sim$x serait alors 31 bits à 1, et 1 bit à 0, ce qui
représente la même valeur d'un point de vue ``base 10'', mais est fondamentalement différent d'un point de vue arithmétique binaire.
\end{alertblock}
\begin{exampleblock}{Exemple d'utilisation du non binaire}
\verb|int a = |$\sim$\verb|1; // a vaut 31 bits à 1, et un bit à 0|
\end{exampleblock}}
\end{frame}