询问者
关于位运算的一些问题

常规讨论
-
好吧,我首先承认在学校里不认真上课,才来提这样的问题,这个是学过的,但是忘了~~~希望各位大牛指点一二。废话不多说了,下面是代码
public static byte[] getBytesShort(short s, Boolean asc)
{
byte[] buf = new byte[2];
if (asc)
for (int i = buf.Length - 1; i >= 0; i--)
{
buf[i] = (byte)(s & 0x00ff);
s >>= 8;
}
else
for (int i = 0; i < buf.Length; i++)
{
buf[i] = (byte)(s & 0x00ff);
s >>= 8;
}
return buf;
}我想问的是这个 “(s & 0x00ff)” 或运算是什么意思???有什么用,原理是什么??
还有 s >>= 8 这个位移运算又是什么意思,有什么用?原理是什么??
先谢谢各位大牛了
- 已编辑 RickyLinModerator 2011年3月25日 3:05 标题不用很长也会得到合适的解答
- 已更改类型 RickyLinModerator 2011年3月26日 12:19