(1U << 1) | (1U << 5)
和0x22
是两个不同的表达式,分别代表了不同的数值。
(1U << 1) | (1U << 5)
是一个位运算表达式,表示将二进制数1左移1位,再将二进制数1左移5位,然后将两个结果进行按位或运算。具体计算过程如下:
1U的二进制表示为:00000001 将1U左移1位得到:00000010 将1U左移5位得到:00100000 将两个结果进行按位或运算得到:00100010
所以(1U << 1) | (1U << 5)
的结果是34。
而0x22
是一个十六进制数,表示的是十进制数34的十六进制表示。具体计算过程如下:
0x22的十六进制表示为:00100010
所以0x22
的结果也是34。
综上所述,(1U << 1) | (1U << 5)
和0x22
的结果都是34,它们在数值上是相等的。
领取专属 10元无门槛券
手把手带您无忧上云