当前位置: 代码迷 >> Java Web开发 >> 位移方面的请教
  详细解决方案

位移方面的请教

热度:189   发布时间:2007-04-25 09:38:40.0
位移方面的请教
这个是我在书上看到的,不太理解所以请教高手给解释一下。
public void appendInt(int data) {
byte[] intBuf = new byte[4];
intBuf[3] = (byte) (data & 0xff);
intBuf[2] = (byte) ((data >>> 8) & 0xff);
intBuf[1] = (byte) ((data >>> 16) & 0xff);
intBuf[0] = (byte) ((data >>> 24) & 0xff);
‘&’这个单位运算符的作用是什么,为什么用个ff,我觉得用一个f不可以吗?手上没有相应的资料了,请教高手给点指点,多谢了。
搜索更多相关主题的帖子: 位移  byte  void  int  

----------------解决方案--------------------------------------------------------
0xff应该是个16进制的数,移位这种东西我觉得不是很常用,楼主看书的话,跳过这里吧
----------------解决方案--------------------------------------------------------
搞不懂我就更要搞了,这样才有进步啊,0x是表示16进制这个我知道,但是一个字节只能表示一个十六进制的数字吧(我自己想的,可能不是这样的),所以用两个ff来做这'&'我就有点不明白了,两个ff要8位吧,大学的书让我给卖了,所以没有资料可查了,所以请教高手给点启示。
----------------解决方案--------------------------------------------------------
我也没有多少了解这方面的东西,我也是猜测,java是unicode编码,是两个字节,所以是ff,不知道对不对.
----------------解决方案--------------------------------------------------------

多谢楼上兄弟热心回帖,我再上网查查资料,版主能否解答一下这方面的知识?不胜感激!


----------------解决方案--------------------------------------------------------

是我把byte的位数搞错了,我现在明白了。


----------------解决方案--------------------------------------------------------
8个字节?java是unicode,是16字节,所以是ff ??

----------------解决方案--------------------------------------------------------

不明白ls的意思。一个int是4个byte,一个byte是8位,一个0x是4位,这个跟unicode有什么关系?不是很明白,请把问题说得清楚一点。


----------------解决方案--------------------------------------------------------

我现在也搞不清楚一个ox在java中占几位了。..


----------------解决方案--------------------------------------------------------
  相关解决方案