nynw.net
当前位置:首页 >> jAvA中int转换为BytE >>

jAvA中int转换为BytE

public static void main(String[] args) { // TODO Auto-generated method stub int i = 65535; byte[] a = new byte[4]; a[0] = (byte) (0xff & i); a[1] = (byte) ((0xff00 & i) >> 8); a[2] = (byte) ((0xff0000 & i) >> 16); a[3] = (byte)...

byte 是8位,即1个字节。取值范围为127 ~ -128。 206二进制表示为11001110,最高位为1则为负数,取补加1后,十进制表示为-50

因为在java中,int类型的占4个字节,而byte占1个字节,所以int类型转化为byte类型时会出现位丢失情况,即将int的低8位作为byte类型的值。int型变量的值为257,对应的二进制是100000001,后8位是00000001,第一个0表示符号位,表示正数,所以变量...

import java.io.*; public class IOTest { public static void main(String[] args) throws Exception { int i = 65535; byte[] b = intToByteArray1(i); for(byte bb : b) { System.out.print(bb + " "); } } public static byte[] intToByteAr...

呵呵,我能理解你,你问这个问题的确有点无厘头,有这个必要吗?你想啊,一个int怎么转换为bytes[]呢?如果一定要做也行。byte是8位的二进制,int是32位的二进制,可以将32位拆开,放入byte[]中。这就是原理。具体做法:调用Integer里面的toBina...

下面这个解答不是我写的,我也在看,还不是很明白,但这个解答是正确的: 这个是编码方式决定的,Java中正数用源码表示,负数用补码表示,第一位是符号位。 所以对于128和-129,他们的编码分别是: 0000 0000 0000 0000 0000 0000 1000 0000 111...

byte 是8位,即1个字节。取值范围为127 ~ -128。 206二进制表示为11001110,最高位为1则为负数,取补加1后,十进制表示为-50

byte[] byteArray = new byte[4]; for (int n = 0; n < byteNum; n++) byteArray[3 - n] = (byte) (integer>>> (n * 8)); return (byteArray); }

这个要用二进制来算,简单说一下,能理解多少看你的造化了。呵呵,其实你可以上网搜一下相关内容。 在java中,int 占用2字节,byte 占用1字节。 69用int的二进制表示为:00000000 01000101 ,87表示为:00000000 01010111,二者相加得:00000000...

网站首页 | 网站地图
All rights reserved Powered by www.nynw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com