使用 OR 运算符赋值
Assignment with OR operator
所以我在阅读 Github 中的源代码时遇到了这段代码。
addr2int = ( (uint32_t)paddr[2] ) | ( (uint32_t)paddr[3] << 8 ) | ( (uint32_t)paddr[4] << 16 ) | ( (uint32_t)paddr[5] << 24 )
谁能给我解释一下这里发生了什么?
据我所知这是一个赋值,但我不明白为什么会有 |
个运算符,或者这是否是一个多重赋值。
(uint32_t)paddr[2] ) | ( (uint32_t)paddr[3] << 8 ) | (
(uint32_t)paddr[4] << 16 ) | ( (uint32_t)paddr[5] << 24 )
所以我在阅读 Github 中的源代码时遇到了这段代码。
addr2int = ( (uint32_t)paddr[2] ) | ( (uint32_t)paddr[3] << 8 ) | ( (uint32_t)paddr[4] << 16 ) | ( (uint32_t)paddr[5] << 24 )
谁能给我解释一下这里发生了什么?
据我所知这是一个赋值,但我不明白为什么会有 |
个运算符,或者这是否是一个多重赋值。
(uint32_t)paddr[2] ) | ( (uint32_t)paddr[3] << 8 ) | ( (uint32_t)paddr[4] << 16 ) | ( (uint32_t)paddr[5] << 24 )