使用 << 和 + 重写 C 表达式

Rewriting C-expression using << and +

如何使用左移按位运算符 (<<) 和加号 (+) 编写以下 C 表达式?

y = x * 6;

x << n 根据定义表示 x * 2n (C18 §6.5.7/4)。知道 x * 6 表示 x * 2 + x * 4,即 x * 21 + x * 22,我们可以重写 y = x * 6; 作为 y = (x << 1) + (x << 2);.