需要帮助理解 lowByte 和 highByte
Need help understanding lowByte and highByte
我是 C++ 的初学者,我想破译一些代码:
#define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))
它看起来像变量声明,但我以前从未见过这种语法。谁能分解这两行并告诉我它们是什么意思?
这些是 macros 声明。
只要你的代码中有 lowByte(0x1234)
,它就会被宏的正确部分替换,用它们的值替换参数,即 ((uint8_t) ((0x1234) & 0xff))
.
此步骤由 preprocessor 在编译之前执行。
我是 C++ 的初学者,我想破译一些代码:
#define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))
它看起来像变量声明,但我以前从未见过这种语法。谁能分解这两行并告诉我它们是什么意思?
这些是 macros 声明。
只要你的代码中有 lowByte(0x1234)
,它就会被宏的正确部分替换,用它们的值替换参数,即 ((uint8_t) ((0x1234) & 0xff))
.
此步骤由 preprocessor 在编译之前执行。