Dar*_*ar1 1 c++ bit-manipulation
(INBuffer[3] << 8) + INBuffer[2]
Run Code Online (Sandbox Code Playgroud)
这实际上是将INBuffer [3]中的位移入INBuffer [2]还是[3]被归零然后加到[2]?
Mar*_*ius 10
这是从两个8位值生成16位值的简单方法.
INBuffer[3] = 0b01001011;
INBuffer[2] = 0b00001001;
INBuffer[3]<<8 // 0b0100101100000000;
(INBuffer[3]<<8) + INBuffer[2] // 0b0100101100001001
Run Code Online (Sandbox Code Playgroud)
通常这表示为
(INBuffer[3]<<8) | INBuffer[2];
Run Code Online (Sandbox Code Playgroud)
这取决于最有可能计算的语言
InBuffer[3] * 256 + InBuffer[2]
Run Code Online (Sandbox Code Playgroud)
或者(根据语言很可能是相同的)执行将两个字节打包成一个16位字.
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |