A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马上都有 中级黑马   /  2014-5-20 18:25  /  1156 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. public static byte[] intToByte(int cmd) {
  2. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  3. DataOutputStream ds = new DataOutputStream(baos);
  4. try {
  5. ds.writeInt(cmd);
  6. } catch (IOException e) {
  7. // TODO Auto-generated catch block
  8. e.printStackTrace();
  9. }
  10. return baos.toByteArray();
  11. }
  12. public static void main(String[] args) {
  13. int packageMark = 0x5544a1a1;
  14. byte[] bye = new byte[4];
  15. bye = intToByte(packageMark);
  16. for(int i=0; i<bye.length; i++) {
  17. System.out.print(bye[i]+"  ");
  18. }
  19. 结果:85  68  -95  -95    为什么有负数,怎样才能是正数呢??
复制代码


1 个回复

倒序浏览
本帖最后由 韩长征 于 2014-5-21 21:08 编辑

结果是正确的啊,int packageMark = 0x5544a1a1; 这个数的2进制的后两个八位的开头是1啊。C:\Users\Administrator\Desktop\1.jpg

不知道楼主说的是这个意思么?

1.jpg (26.04 KB, 下载次数: 14)

1.jpg
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马