Нужна помощь в понимании lowByte и highByte

Я начинающий с C ++, и я хотел бы расшифровать некоторый код:

    #define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))

Это выглядит как объявление переменной, но я никогда не видел этот синтаксис раньше. Может кто-нибудь сломать эти две строки и сказать мне, что они значат?

1

Решение

Те макрос деклараций.

Всякий раз, когда у вас есть lowByte(0x1234) в вашем коде он будет заменен правой частью макроса, заменяя аргументы их значениями, то есть ((uint8_t) ((0x1234) & 0xff)),

Этот шаг выполняется препроцессор до компиляции.

2

Другие решения


По вопросам рекламы [email protected]