<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?action=history&amp;feed=atom&amp;title=INFO517-cours9</id>
	<title>INFO517-cours9 - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?action=history&amp;feed=atom&amp;title=INFO517-cours9"/>
	<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517-cours9&amp;action=history"/>
	<updated>2026-05-21T09:14:09Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517-cours9&amp;diff=3476&amp;oldid=prev</id>
		<title>Lvaux : /* Préparation du TP */</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517-cours9&amp;diff=3476&amp;oldid=prev"/>
		<updated>2008-12-15T14:50:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Préparation du TP&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 15 décembre 2008 à 14:50&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Séance 9 du Cours-TD de [[INFO517|Programmation C]].&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Séance 9 du Cours-TD de [[INFO517|Programmation C]].&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Préparation du TP==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Préparation du TP&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 1&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Voir [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP1.html le sujet].&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Voir [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP1.html le sujet].&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lvaux</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517-cours9&amp;diff=3290&amp;oldid=prev</id>
		<title>Lvaux : Création</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517-cours9&amp;diff=3290&amp;oldid=prev"/>
		<updated>2008-11-24T13:55:31Z</updated>

		<summary type="html">&lt;p&gt;Création&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Séance 9 du Cours-TD de [[INFO517|Programmation C]].&lt;br /&gt;
&lt;br /&gt;
==Préparation du TP==&lt;br /&gt;
&lt;br /&gt;
Voir [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP1.html le sujet].&lt;br /&gt;
&lt;br /&gt;
==Entrées/sorties dans des fichiers==&lt;br /&gt;
&lt;br /&gt;
Voir les pages de manuel des &lt;br /&gt;
[http://manpages.debian.net/cgi-bin/man.cgi?query=stdin&amp;amp;apropos=0&amp;amp;sektion=3&amp;amp;manpath=Debian+Sid&amp;amp;format=latin1&amp;amp;locale=fr flux] et de &lt;br /&gt;
[http://manpages.debian.net/cgi-bin/man.cgi?query=fopen&amp;amp;apropos=0&amp;amp;sektion=3&amp;amp;manpath=Debian+Sid&amp;amp;format=latin1&amp;amp;locale=fr fopen] &lt;br /&gt;
[http://manpages.debian.net/cgi-bin/man.cgi?query=fgetc&amp;amp;apropos=0&amp;amp;sektion=3&amp;amp;manpath=Debian+Sid&amp;amp;format=latin1&amp;amp;locale=fr fgetc],&lt;br /&gt;
[http://manpages.debian.net/cgi-bin/man.cgi?query=fputc&amp;amp;apropos=0&amp;amp;sektion=3&amp;amp;manpath=Debian+Sid&amp;amp;format=latin1&amp;amp;locale=fr fputc],&lt;br /&gt;
[http://manpages.debian.net/cgi-bin/man.cgi?query=fprintf&amp;amp;apropos=0&amp;amp;sektion=3&amp;amp;manpath=Debian+Sid&amp;amp;format=latin1&amp;amp;locale=fr fprintf],&lt;br /&gt;
[http://manpages.debian.net/cgi-bin/man.cgi?query=fclose&amp;amp;apropos=0&amp;amp;sektion=3&amp;amp;manpath=Debian+Sid&amp;amp;format=latin1&amp;amp;locale=fr fclose],&lt;br /&gt;
et&lt;br /&gt;
[http://manpages.debian.net/cgi-bin/man.cgi?query=fscanf&amp;amp;apropos=0&amp;amp;sektion=3&amp;amp;manpath=Debian+Sid&amp;amp;format=latin1&amp;amp;locale=fr fscanf].&lt;br /&gt;
&lt;br /&gt;
Un exemple pour &amp;lt;tt&amp;gt;scanf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
	int i,s ;&lt;br /&gt;
	s = 0 ;&lt;br /&gt;
	while (scanf(&amp;quot;%d&amp;quot;,&amp;amp;i) == 1)&lt;br /&gt;
		s = s + i ;&lt;br /&gt;
	printf(&amp;quot;Somme: %d\n&amp;quot;,s) ;&lt;br /&gt;
	return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et une variante pour comprendre la valeur de retour: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
	int i,j,s ;&lt;br /&gt;
	s = 0 ;&lt;br /&gt;
	while (scanf(&amp;quot;%d%d&amp;quot;,&amp;amp;i,&amp;amp;j) == 2)&lt;br /&gt;
		s = s + i + j ;&lt;br /&gt;
	printf(&amp;quot;Somme: %d\n&amp;quot;,s) ;&lt;br /&gt;
	return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voir aussi l&amp;#039;archive [http://www.lama.univ-savoie.fr/~vaux/ens/liste-v2.tar.gz liste-v2.tar.gz] qui fournit une variante de ce qu&amp;#039;on a fait au TD2.&lt;br /&gt;
&lt;br /&gt;
==Opérations bit à bit==&lt;br /&gt;
&lt;br /&gt;
Un exemple qui réunit un peu tout ce qu&amp;#039;on a vu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int deux_puissance(int n)&lt;br /&gt;
{&lt;br /&gt;
	/* Utilisation du décalage */&lt;br /&gt;
	return 1 &amp;lt;&amp;lt; n ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int xor(int x, int y)&lt;br /&gt;
{&lt;br /&gt;
	/* OU exclusif binaire */&lt;br /&gt;
	 return (~x &amp;amp; y) | (x &amp;amp; ~y) ;&lt;br /&gt;
	 &lt;br /&gt;
	 /* Note: le `xor&amp;#039; est aussi une primitive C: `^&amp;#039;. */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ecrit_binaire(int z)&lt;br /&gt;
{&lt;br /&gt;
	int i ;&lt;br /&gt;
	printf(&amp;quot;%11d == 0x%08x : &amp;quot;,z,z) ;&lt;br /&gt;
	for (i=8*sizeof(int)-1;i&amp;gt;=0;--i) &lt;br /&gt;
		if (z &amp;amp; deux_puissance(i))&lt;br /&gt;
			putchar(&amp;#039;1&amp;#039;) ;&lt;br /&gt;
		else &lt;br /&gt;
			putchar(&amp;#039;0&amp;#039;) ;&lt;br /&gt;
	printf(&amp;quot;\n&amp;quot;) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
	int i,x,y ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;Puissances de 2:\n&amp;quot;) ;&lt;br /&gt;
	/* Notez le cas de deux_puissance(sizeof(int)*8-1) */&lt;br /&gt;
	for (i=0; i&amp;lt;sizeof(int)*8; i++) {&lt;br /&gt;
		printf(&amp;quot;2 puissance %3d == %11d\n&amp;quot;,i,deux_puissance(i)) ;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;\nQuelques écritures binaires:\n&amp;quot;) ;&lt;br /&gt;
	ecrit_binaire(1) ;&lt;br /&gt;
	ecrit_binaire(127) ;&lt;br /&gt;
	ecrit_binaire(128) ;&lt;br /&gt;
	ecrit_binaire(-1) ;&lt;br /&gt;
	ecrit_binaire(0) ;&lt;br /&gt;
	ecrit_binaire(deux_puissance(sizeof(int)*8-1)) ;&lt;br /&gt;
&lt;br /&gt;
	x = 13 ;&lt;br /&gt;
	y = 32 ;&lt;br /&gt;
	ecrit_binaire(x) ;&lt;br /&gt;
	ecrit_binaire(y) ;&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;\nOpposé:\n&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
	ecrit_binaire(-x) ;&lt;br /&gt;
	ecrit_binaire(-y) ;&lt;br /&gt;
&lt;br /&gt;
	/* Deux méthodes pour le XOR */&lt;br /&gt;
	printf(&amp;quot;\n%d XOR %d:\n&amp;quot;,x,y) ;&lt;br /&gt;
	ecrit_binaire(xor(x,y)) ;&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;\nPareil avec l&amp;#039;opérateur C: %d ^ %d:\n&amp;quot;,x,y) ;&lt;br /&gt;
	ecrit_binaire(x^y) ;&lt;br /&gt;
	&lt;br /&gt;
	/* Deux méthodes pour le complément */&lt;br /&gt;
	printf(&amp;quot;\nComplément de %d:\n&amp;quot;,x) ;&lt;br /&gt;
	ecrit_binaire(~x) ;&lt;br /&gt;
	&lt;br /&gt;
	printf(&amp;quot;\nComplément de %d:\n&amp;quot;,y) ;&lt;br /&gt;
	ecrit_binaire(xor(y,0)) ;&lt;br /&gt;
	&lt;br /&gt;
	printf(&amp;quot;\nComplément à 1 de %d (c&amp;#039;est pareil que l&amp;#039;opposé sur la plupart des machines):\n&amp;quot;,x) ;&lt;br /&gt;
	ecrit_binaire(~x+1) ;&lt;br /&gt;
&lt;br /&gt;
	return 0 ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lvaux</name></author>
	</entry>
</feed>