黑马程序员技术交流社区
标题:
关于毕老师IO复制MP3的问题
[打印本页]
作者:
依然AI
时间:
2012-12-28 16:21
标题:
关于毕老师IO复制MP3的问题
本帖最后由 依然AI 于 2012-12-28 16:48 编辑
public int myRead()throws IOException
{
//通过in对象读取硬盘上数据,并存储buf中。
if(count==0)
{
count = in.read(buf);
if(count<0)
return -1;
pos = 0;
byte b = buf[pos];
count--;
pos++;
return b&255;
}
else if(count>0)
{
byte b = buf[pos];
count--;
pos++;
return b&0xff;
}
return -1;
}
问一下 老师为了区别-1和2进制-1 &操作了255 返回int 避免了-1这个问题
但是-1的时候这么是解决了 正常的数据也被&255操作了 这样正常数据不就也变化了吗 不是很明白这里是怎么操作过去的 求解答
作者:
依然AI
时间:
2012-12-28 16:47
又看了一遍视频 明白了 是 b&255的问题 我对&操作当时没看明白 &255就是和
1111-1111-1111-1111-1111-1111-1111-1111
0000-0000-0000-0000-0000-0000-1111-1111
操作 正常的数据 和
0000-0000-0000-0000-0000-0000-1111-1111
&操作 不会变化的 因为之后后八位是读出来的 前面是自动不全的 只有-1会出现 不会出现其他负值 不全为0的数据和
&255操作 不会变化
例如
0000-0000-0000-0000-0000-0000-1100-1001
0000-0000-0000-0000-0000-0000-1111-1111=
0000-0000-0000-0000-0000-0000-1100-1001
总结&255操作就是把自动补全1改为0的操作 其实当时老师讲过的 我没有理解到位。
作者:
李海鹏
时间:
2012-12-28 17:17
自己提问自己回答,孺子可教也
作者:
郑广昌
时间:
2012-12-28 17:38
好孩子,有想法!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2