byte t = (r >> 24) & 0xFF;是什么意思呀?

v不吃v你 2001-12-01 03:04:07
...全文
1515 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linckfoley 2010-05-30
  • 打赏
  • 举报
回复
&0xff是用于取二进制数中的低16位部分数据滴
v不吃v你 2001-12-02
  • 打赏
  • 举报
回复
是不是把t转化为0-255之间的表示形式。
这样理解对吗?
hz129 2001-12-02
  • 打赏
  • 举报
回复
zzz~~~~~~~~~
v不吃v你 2001-12-01
  • 打赏
  • 举报
回复
没人看我的问题吗?
v不吃v你 2001-12-01
  • 打赏
  • 举报
回复
有就是关于crc32校验的。

r=0;
while (len--)
{
byte t = (r >> 24) & 0xFF;
r = (r << 8) | *++;
r^=table[t];
}

r 是register,
t 是temp
table是表。
*++指向下一个字节。
请一并解释一下r = (r << 8) | *++;
forulong 2001-12-01
  • 打赏
  • 举报
回复
不对吧?我觉得你这里&0xff可能为了实现特定的数据转换。
有程序上下文吗?
v不吃v你 2001-12-01
  • 打赏
  • 举报
回复
也就是说&0xff的作用是作进一步的校验,其实不用&0xff也行。
我这样理解对吗?
hz129 2001-12-01
  • 打赏
  • 举报
回复
byte t=0x00001111111111111111111111111111

t>>24 0000,0000,0000,0000,0000,0000,0000,1111
&0xff 0000,0000,0000,0000,0000,0000,1111,1111
= 0000,0000,0000,0000,0000,0000,0000,1111

v不吃v你 2001-12-01
  • 打赏
  • 举报
回复
没人救救小弟吗?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧