2011-05-27 8 views
-2

Comment puis-je définir une MACRO 40 bits.Comment définir une MACRO

Pour exemple, si je veux définir « deadbeef » (32 bits) comme MACRO je ferai:

#define MYMACRO 0xdeadbeef

Mais comment dois-je faire si je veux définir "deadbeefs" (40 bits).

Merci.

+2

Cela n'a aucun sens. '0xdeadbeef' est une valeur hexadécimale de 32 bits. '" deadbeefs "' est un littéral de chaîne de 9 caractères (10 si vous incluez le caractère null-terminator). Que veux-tu faire avec cette chaîne? –

Répondre

1

Vous pouvez faire la même chose en utilisant une constante longue de 40 bits. Par exemple (sur une architecture 64bits):

#define MYMACRO 0xdeadbeeffL 

Si votre compilateur et nécessite votre architecture d'avoir un type capable de stocker plus de 40 bits. Ici, j'ai utilisé le type long int qui est assez long sur les architectures 64 bits.

+1

** Quelques architectures ** 64 bits. Windows est une exception notable. –

3

vous ne pouvez pas car s ne peut pas être représenté en 4 bits.

0

Malheureusement, C ne supporte pas les 29 littéraux de base.

Questions connexes