Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1330 connectés 

  FORUM HardWare.fr
  Programmation
  C

  macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

macro

n°1304866
nalvon
Posté le 14-02-2006 à 05:37:56  profilanswer
 

Salut,  
 
J ´ai avec moi un macro dont je ne connais la signification.
 
Voici le macro en question :
 
#define SWITCH_UPPER_24_BITS(x)     ((((x) & (~((~(0ULL))>>12))>>12))<<12) | ((((x) & ~((~0ULL)>>12)))>>12)
 
Une aide me serait precieuse pour la continuation de mon exercice .
 
Merci.

mood
Publicité
Posté le 14-02-2006 à 05:37:56  profilanswer
 

n°1305061
Tarabiscot​e
Posté le 14-02-2006 à 12:16:32  profilanswer
 

Ce n’est pas très bien écrit mais ça inverse les bits situés à cette position 0xFFF0000000000000 avec ceux de cette position 0x000FFF0000000000. Les 24 bits de poids fort en fait ;)
 
J’aurais plutôt écrit comme ça personnellement :

#define SWITCH_UPPER_24_BITS(x) ( ( ((x) & 0x000FFF0000000000ULL) << 12 ) | ( ((x) & 0xFFF0000000000000ULL) >> 12 ) )


 
Ou comme ça si on veut garder les bits à de poids faible :

#define SWITCH_UPPER_24_BITS(x) ( ( ((x) & 0x000FFF0000000000ULL) << 12 )\
                                | ( ((x) & 0xFFF0000000000000ULL) >> 12 )\
                                | ((x) & 0x000000FFFFFFFFFFULL) )


Message édité par Tarabiscote le 14-02-2006 à 12:21:49
n°1305064
slash33
Posté le 14-02-2006 à 12:20:00  profilanswer
 

On peut avoir une explication de lecture de la première version ? C'est quoi 0ULL ?

n°1305070
Tarabiscot​e
Posté le 14-02-2006 à 12:23:38  profilanswer
 

0ULL c'est zéro en unsigned long long (sur 64 bits en bref)

n°1305080
slash33
Posté le 14-02-2006 à 12:29:46  profilanswer
 

Et 0x000FFF000000000 ça n'aurait pas été suffisant ?

n°1305096
Emmanuel D​elahaye
C is a sharp tool
Posté le 14-02-2006 à 12:49:38  profilanswer
 

slash33 a écrit :

Et 0x000FFF000000000 ça n'aurait pas été suffisant ?


Non. Trop grand pour un int.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1305122
slash33
Posté le 14-02-2006 à 13:30:41  profilanswer
 

Ok compris.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  macro

 

Sujets relatifs
désactivation macrocode vba pour inserer une ligne dans une macro
Macro excel relou à faireVBA - Macro supprimer ligne
[excel - vba] Appel d'une macro dans une autre[Excel] Fonction - appel a une macro comp.
Executer macro pour mappage BAL sous outlookMacro sous OpenOffice
Mot de passe sur macro Excelmacro Nom du fichier en cours
Plus de sujets relatifs à : macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR