">> 3"是什么意思?它是某种重定向吗?

use*_*723 0 c bit-shift

我试图找出什么

 >> 3 
Run Code Online (Sandbox Code Playgroud)

在下面显示的代码中.是>>重定向,如果是,那么什么是3?有人可以帮忙吗?

#define BYTESIZE(bitsize)       ((bitsize + 7) >> 3)
Run Code Online (Sandbox Code Playgroud)

Bri*_*ing 5

>>是右移操作员.右移采用二进制值并通过右侧操作数右移.例如:

0100 >> 1 == 0010
00010000 >> 4 == 00000001
Run Code Online (Sandbox Code Playgroud)

以十进制表示,这与除以2的幂相同. >> 1除以2,>> 2除以4,>> 3除以8等.

  • "+ 7"部分实际上也很有趣:实际上它会向上舍入到最接近的8的倍数.例如,`BYTESIZE(14)`返回2. (3认同)
  • 是的!只是一个附录. (2认同)