java中byte[]转换成int
byte[]a=newbyte(10);从文件读取的数据a=[00:20.19]这10个字符,怎样让inta,b,c;a=00;b=20;c=19.我是想把那延迟时间加上...
byte[] a=new byte(10);
从文件读取的数据a=[00:20.19]这10个字符,怎样让int a,b,c;
a=00;b=20;c=19.我是想把那延迟时间加上,还有什么好方法么 展开
从文件读取的数据a=[00:20.19]这10个字符,怎样让int a,b,c;
a=00;b=20;c=19.我是想把那延迟时间加上,还有什么好方法么 展开
2个回答
2016-01-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
java中byte转换为 int有两种情况,一种是要求保持值不变,例如进行数值计算,可采用强制类型转换:int i = (int) aByte;
另一种是要求保持最低字节中各个位不变,3个高字节全部用0填充,例如进行编解码操作,
则需要采用位操作:int i = b & 0xff;
int InputStream.read()
该函数返回一个int类型,范围从0至255,如果到达流末尾,返回-1。通过ByteArrayInputStream的源码可以看到是如何从byte转到int
public synchronized int read() {
return (pos < count) ? (buf[pos++] & 0xff) : -1;
}
注意,不是自动转的,需要强制做处理。
另一种是要求保持最低字节中各个位不变,3个高字节全部用0填充,例如进行编解码操作,
则需要采用位操作:int i = b & 0xff;
int InputStream.read()
该函数返回一个int类型,范围从0至255,如果到达流末尾,返回-1。通过ByteArrayInputStream的源码可以看到是如何从byte转到int
public synchronized int read() {
return (pos < count) ? (buf[pos++] & 0xff) : -1;
}
注意,不是自动转的,需要强制做处理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询