Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

OpenSpace _ Programmation _ Cherche Référence En C++

Ecrit par: Aronnax 07/12/2003 10:35

J'ai quelques difficultés sur la compréhension des opérations de décalages et de manipulations de bits en C++, donc avez vous des url ou des références de livres sur le C++, et surtout sur cette partie ?
1. je ne saisi pas bien l'utilité des décalages et manipulations de bits
2. concrétement, dans quels cas ces opérations sont-elles les plus utiles ?

Merci à ceux sauront me répondre ! smile.gif

Ecrit par: Gfx 07/12/2003 17:14

J'ai la flemme... smile.gif Disons qu'on s'en sert pas souvent en programmation classique, mais un exemple tout bête. Les couleurs RGB sont codées dans des entiers. Chaque composante de la couleur est sur un octet. Par exemple la couleur rouge pure c'est (255, 0, 0). Bref, ben pour foutre ça sous forme d'entier on fait : rouge << 16 | vert << 8 | bleu. Pour récupérer la composante rouge depuis un entier on fait : (couleur >> 16) & 0xFF.

smile.gif

Ecrit par: Aronnax 08/12/2003 13:22

oki !
c'est en fait un héritage de l'assembleur quoi ? on code directement en bits pour gagner du temps (de traitement à la compilation j'imagine), à l'image des mnémoniques de l'assembleur ?

Merci j'y vois un peu plus clair ! happy.gif

Ecrit par: niko 08/12/2003 13:51

Ouais ça doit êtr eà peu près ça parce que moi j'avais utilisé les shl et shr (équivalent en assembleur) qu'à mes tous débuts sous dos pour faire des trucs graphiques fonfons en 320*200 et peut-être un peu en Pascal et en C quand j'avais rien d'autre à foute que d'optimiser des programmes qui ne demandaient qu'un temps d'exécution proche d'epsillon.

Ecrit par: Gfx 08/12/2003 19:08

Ben c'est pas que pour de l'optimisation. C'est pratique et tu es obligé d'utiliser ce genre de trucs pour les machins bas niveau (graphisme, réseau...).

Ecrit par: niko 09/12/2003 9:02

ouais c'est ce que je faisais sous Dos mais j'ignorais qu'il y avait encore des connards pour se faire chier à faire du graphisme via l'assembleur ^^

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)