Bonjour-soir !
J'ai repris très récemment votre cours sur le langage C. J'ai commencé la partie 3 et j'ai pris quelques notes, qui reflètent mon avis de débutant, néanmoins je pense que ça peut-être intéressant. Il faut garder à l'esprit que je peux dire des bêtises, peut-être qu'il y a des choses que je pense comprendre alors que ce n'est en réalité pas le cas … mais j'aime beaucoup vos tutos et si je peux apporter un avis constructif je souhaite essayer.
https://zestedesavoir.com/contenus/beta/833/le-langage-c-partie-3/notions-avancees/la-representation-des-types/
Au début de page dans le tableau, il est noté 32 au lieu de 42.
https://zestedesavoir.com/contenus/beta/833/le-langage-c-partie-3/notions-avancees/manipulation-des-bits/
Je n'ai pas réussi à comprendre ces notions du premier coup avec votre page, je suis allé consulter d'autres tutos sur le web qui m'ont éclairé. J'ai pu revenir sur le votre après avoir compris … ailleurs Du coup je pense qu'il est intéressant que je partage mon ressenti. Mais bien entendu je ne prentends pas du tout être un exemple, je fais seulement quelques propositions. Cela reste donc très subjectif.
En fait, j'ai eu beaucoup de mal à comprendre de quoi cette page parle, ce que signifiait "bit à bit", pourquoi les exemples donnés faisaient ci ou ça … du coup après avoir passé un peu de temps sur ces notions, je tente quelques propositions.
Tableau en début de page placé sous le sous-titre "Les opérateurs « et », « ou inclusif » et « ou exclusif »"
Je trouve que le tableau n'est pas clair, ou pas complet j'sais pas trop … je ne le saisis pas bien. Les opérateurs ne sont pas bien présentés je trouve. J'aurais personnellement préféré :
| : renvoie 1 si au moins l'un des deux bits est 1
^ : renvoie 1 si les deux bits sont différents
& : renvoie 1 si les deux bits sont 1
ce qui donne ce tableau :
| 2 bits comparés | | | ^ | &
-----------------+---+---+----
0 0 | 0 | 0 | 0
-----------------+---+---+----
0 1 | 1 | 1 | 0
-----------------+---+---+----
1 0 | 1 | 1 | 0
-----------------+---+---+----
1 1 | 1 | 0 | 1
|
Premier code présenté : Je trouve les exemples compliqués (ils ne m'ont pas aidé à comprendre, je les ai compris après avoir appris sur d'autres sites).
| /* 0111 1111 & 0011 1100 == 0011 1100 */
printf("%2X\n", a & b);
|
Donc "a & b" c'est égal à b … je lisais ça comme ça, je ne comprenais rien. Il faut en fait comparer les chiffres 2 par 2, pour en ressortir un nouveau chiffre (on compare deux bits qui ont la même "position", donc le même poids si j'ai bien compris), ben ça je ne l'avais pas du tout compris.
Il manque peut-être un exemple plus simple pour faire une transition … quelque chose comme ça :
(avec en plus un schéma qui démontre que l'on compare 2 bits de même poids pour obtenir un nouveau bit)
| 67 = 1000011
98 = 1100010
67 | 98 = 1100011 -> 99
67 ^ 98 = 0100001 -> 33
67 & 98 = 1000010 -> 66
|
J'ai mieux compris le reste de la page après avoir assimilé ces notions là. Personnellement j'ai eu beaucoup de mal avec cette page dés le début, c'est surtout ça que je souhaite vous dire. Les explications manquent de clarté, ça va trop vite et j'ai l'impression qu'il faut déjà avoir quelques notions sur le sujet pour pouvoir suivre. Bien évidemment je me répète, tout cela concerne MON point de vue, ça ne veut pas dire qu'il faut m'écouter. Peut-être que d'autres personnes pensent le contraire de ce que j'ai raconté.
Voilà voilà, j'espère que je n'ai pas (trop) dit de bêtises, que mon ressenti était intéressant …
Merci pour les tutos, je continue très vite avec grand plaisir