博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中整形变量与字节数组的转换
阅读量:4947 次
发布时间:2019-06-11

本文共 655 字,大约阅读时间需要 2 分钟。

  一直搞不清楚整形变量与字节数组的转换,看过各位网友的解释,现写下此随笔:

  • 整形变量转换成字节数组  

    对于int类型变量a,将其转换为字节数组b,方法如下:      

int a = 100;        byte[] b = byte[4];                b[3] = (byte)(a & 0xff);        b[2] = (byte)(a>>8 & 0xff);        b[1] = (byte)(a>>16 & 0xff);        b[0] = (byte)(a>>24 & 0xff);
  • 字节数组转换成整形变量

    将刚才得到的字节数组b转换成整形变量a,

int a = 0;for(int i =0; i< b.length; i++){      a += (b[i]&0xff) << (24-8*i);}return a;

  java里对于byte变量,假如操作中有int操作数,默认会将byte隐式转换为int变量,而转换成的int变量高24位全部为1,在将byte数组转换为int变量的时候,假如直接用移位操作就会有麻烦,因为高位都是ffffff,所以需将隐式转换生成的ffffff消掉。因此,将每个字节和0xff相与,然后再移位,最后把各步产生的结果相加即可得到原始的int变量。

转载于:https://www.cnblogs.com/yueliming/archive/2012/11/16/2773399.html

你可能感兴趣的文章
Qt中图像的显示与基本操作
查看>>
详解软件工程之软件测试
查看>>
WCF(二) 使用配置文件实现WCF应用程序
查看>>
【CodeForces 803 C】Maximal GCD(GCD+思维)
查看>>
python 去掉换行符或者改为其他方式结尾的方法(end='')
查看>>
数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
查看>>
REST构架风格介绍:状态表述转移
查看>>
struct {0}初始化
查看>>
c++ operator
查看>>
apache 添加 ssl_module
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
getQueryString
查看>>
Servlet文件上传和下载的复习
查看>>
JavaScript笔记——正则表达式
查看>>
iOS PushMebaby
查看>>
网页消息类
查看>>
【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)
查看>>
日常一些出现bug的问题
查看>>
同时启动多个tomcat服务器
查看>>