cs_jb60
Messages postés55Date d'inscriptionmardi 16 septembre 2003StatutMembreDernière intervention 4 août 2008
-
9 sept. 2004 à 20:15
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 2014
-
10 sept. 2004 à 16:07
Bonjour,
Hier, je me faisais un petit programme pour afficher un nombre en binaire.
Je voulais faire ça sur un char, un int, et un double.
Je me suis servi des décalages binaires >> et <<.
Or, tout va bien quand je fais ce décalage sur un char ou sur un int, mais lorsque je veux faire ce décalage binaire sur un double, le compilo me met un message d'erreur, comme-ci il ne pouvait pas calculer ce décalage binaire.
Comment ça se fait?
Vous êtes d'accord avec moi que l'on est censé pouvoir faire un décalage binaire sur un double qui devrait pouvoir aller jusqu'à un décalage de 64 bits dans les deux sens (>>64 et <<64), non?
Ou alors je ne comprends pas tout sur le décalage binaire, ça aurait peut être à voir avec l'architecture de Windows qui utilise seulement 32 bits? Mais alors, je ne comprends toujours pas, car même sur 64 bits, on devrait pouvoir décaler les bits, car les cases mémoires sont censées être à côté, non?
Voilà, je suppose que vous avez compris mon interrogation, alors j'attends vos réponses SVP.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 10 sept. 2004 à 16:07
A propos de l'utilité des décalages, je rappelle que pour faire les rotations de bits, utilisées dans les systèmes de cryptage de données, on fait appel à des décalage de bits. Puisque C++ ne possède pas d'opérateur de rotation, on réalise cette dernière avec des décalages de bits en réinjectant le bit sortant de l'autre côté. C'est très efficace car c'est très difficile de déchiffrer les données ainsi cryptées si on ne possède pas la clé.