2011-05-27 87 views
-2

如何定義40位MACRO。如何定義MACRO

對於例如,如果我想定義「DEADBEEF」(32位),宏我會做:

的#define MYMACRO 0xdeadbeef

但我怎麼做,如果我想定義「deadbeefs」(40位)。

謝謝。

+2

這沒有意義。 '0xdeadbeef'是一個32位的十六進制值。 ''deadbeefs「'是一個9個字符的字符串文字(如果包含空終止符,則爲10個)。你想用這個字符串做什麼? – 2011-05-27 11:59:19

回答

1

您可以使用40位長常量來做同樣的事情。例如(在64位架構上):

#define MYMACRO 0xdeadbeeffL 

如果要求您的編譯器和您的架構有一個能夠存儲超過40位的類型。這裏我使用了64位體系結構上足夠長的long int類型。

+1

**一些** 64位體系結構。 Windows是一個顯着的例外。 – 2011-05-27 13:53:55

3

你不能因爲s不能用4位表示。

0

不幸的是C不支持基本的29個文字。