第1个回答 2008-08-26
& 0xFF :取后面8位。前面置0
<<24 :右移24位,后面补0
| :或
主要是移位来取得一个整型数据.
比如要返回一个整型数据:四个字节的话.可以用这个方法分别设置各个字节
imgData[offset]和0xFF按位与,&是按位与,0xFF是一个十六进制数,<<24表示左移24位(对应二进制数).
4个括号里的算出来以后,进行或运算,然后将结
第2个回答 2008-08-26
imgData 不清楚是个什么数组 看上下文应该是byte
& 0xFF 是将低8bit保持不变, 剩下的高位清0
<<24 是将数据左移24bit
看代码类似拼接数据
应该是将几个字节拼成32bit的int
这个函数的作用. 是将数组 offset位置开始的4个byte拼接成一个整数....
这样的做法有待商诠.... 程序作者没有考虑到符号位和补码...
如果是我. 会将位移换成乘法来避免最高位符号位的问题, 血的教训啊...帮我bs一下作者, 他的计算机原理还需要补习...
另. 如果数据来自网络. 还需要处理网络字节序
这段代码只能正确处理unsigned int, 其他要自己小心本回答被提问者采纳
第3个回答 2008-08-26
imgData[offset]和0xFF按位与,&是按位与,0xFF是一个十六进制数,<<24表示左移24位(对应二进制数).
4个括号里的算出来以后,进行或运算,然后将结果返回。
第4个回答 2008-08-26
& 0xFF :取后面8位。前面置0
<<24 :右移24位,后面补0
| :或
主要是移位来取得一个整型数据.
比如要返回一个整型数据:四个字节的话.可以用这个方法分别设置各个字节
第5个回答 2008-08-26
一楼和三楼的。你们连左移右移都分不清楚。还到这里来回答。真是误人子弟啊。!<<24是左移24位, 箭头指向左边就是左移符号。指向右边就是右移符号!