1
A
回答
10
这是一种简单的方法,可以根据两个8位值创建一个16位值。
INBuffer[3] = 0b01001011;
INBuffer[2] = 0b00001001;
INBuffer[3]<<8 // 0b0100101100000000;
(INBuffer[3]<<8) + INBuffer[2] // 0b0100101100001001
这通常表示为
(INBuffer[3]<<8) | INBuffer[2];
+0
正确。该代码从内存中以Hi-Low格式(而不是Intel上的低 - 高)存储的16位值提取,无论内存对齐和平台endianess如何。如果您正在解码文件格式或从另一个CPU读取数据,这是有道理的。 – Adriaan 2009-10-14 15:23:13
6
根据不同的语言这一最有可能的计算
InBuffer[3] * 256 + InBuffer[2]
或(这是最有可能根据语言相同)performes包装两个字节为一个16位字。
相关问题
- 1. 这个位操作函数做什么?
- 2. 这位或者操作符在JavaScript中做了些什么?
- 3. 这些按位操作是做什么的
- 4. 为什么这个模位操作起作用?
- 5. ls -LA做什么操作?
- 6. 这个build.xml在做什么?
- 7. 这个Lambda操作有什么作用?
- 8. '?'是什么意思?角色做这个操作?
- 9. 这个JOIN操作的“ON”子句是做什么的?
- 10. 这个正则表达式做什么?
- 11. 这个正斜杠做什么
- 12. 这个正则表达式做什么?
- 13. 冒号操作符在这种情况下做了什么?
- 14. :操作员在装配中做什么?
- 15. '|| ='操作符在ruby中做了什么?
- 16. 简单操作在Matlab中做什么?
- 17. 这个按位操作的目的是什么? (mWidth + 0x0000000F)&〜0x0000000F;
- 18. 这个操作符是什么,“??”
- 19. 这个操作符是什么意思?/=
- 20. C中的这个操作是什么?
- 21. 这个操作符是什么意思?
- 22. 为什么这个按位右移似乎不起作用?
- 23. 这个命令做什么?
- 24. 这个函数做什么?
- 25. mod_rewrite:这个RewriteRule做什么?
- 26. 这个javascript做什么?
- 27. 这个程序做什么?
- 28. 这个算法做什么?
- 29. 这个cronjob做了什么?
- 30. 这个CSS做什么?
什么语言是这个代码? – 2009-10-14 14:25:28
C++,但我正在翻译为C# – 2009-10-14 14:35:53