Use 1U rather than ZU(1) in macro definitions, so that the preprocessor can evaluate the resulting expressions.