© Éditions Eyrolles
215
Chapitre 13
Les possibilités du langage C
proches de la machine
L’une des caractéristiques du langage C est précisément d’offrir des possibilités de programmation comparables à celles de l’assembleur (ou du langage machine). Ce chapitre se propose de vous les présenter. Après avoir effectué quelques rappels sur le codage des nombres
en binaire, nous apporterons quelques précisions sur le « qualificatif de signe » (signed/
unsigned) que nous avions éludé jusqu’ici et nous verrons comment, dans ce cas, se généralisent les règles de conversion. Nous étudierons ensuite les opérateurs de manipulation de
bits puis nous verrons comment, dans une structure, définir des champs ayant une taille inférieure à un octet (à l’aide de « champs de bits »). Enfin, nous aborderons ce que l’on nomme
les « unions ».
D’une manière générale, sachez que tous les points évoqués dans ce chapitre sont, par essence
même, peu portables. Leur emploi devra généralement soit être limité à des programmes
destinés à un matériel donné, soit être parfaitement « localisé » au sein du programme, afin de
permettre, le cas échéant, l’adaptation du programme à une autre machine.
Delannoy Livre.book Page 215 Mercredi, 6. mai 2009 4:26 16
215
Chapitre 13
Les possibilités du langage C
proches de la machine
L’une des caractéristiques du langage C est précisément d’offrir des possibilités de programmation comparables à celles de l’assembleur (ou du langage machine). Ce chapitre se propose de vous les présenter. Après avoir effectué quelques rappels sur le codage des nombres
en binaire, nous apporterons quelques précisions sur le « qualificatif de signe » (signed/
unsigned) que nous avions éludé jusqu’ici et nous verrons comment, dans ce cas, se généralisent les règles de conversion. Nous étudierons ensuite les opérateurs de manipulation de
bits puis nous verrons comment, dans une structure, définir des champs ayant une taille inférieure à un octet (à l’aide de « champs de bits »). Enfin, nous aborderons ce que l’on nomme
les « unions ».
D’une manière générale, sachez que tous les points évoqués dans ce chapitre sont, par essence
même, peu portables. Leur emploi devra généralement soit être limité à des programmes
destinés à un matériel donné, soit être parfaitement « localisé » au sein du programme, afin de
permettre, le cas échéant, l’adaptation du programme à une autre machine.
Delannoy Livre.book Page 215 Mercredi, 6. mai 2009 4:26 16
