在JAVA中如何把int型转换成byte型, 比如int a=135 转换成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) ((0xff000000 & i) >> 24);
        //a  为转换后的byte
        for (int j = 0; j < a.length; j++) {
       System.out.println(a[j]);
  }
 }

同时赞成楼上说的,需要注意

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-21
少年你知道byte的范围吗?-128-127,135超出了范围。追问

是超出了范围,进行强制转换,怎么弄

追答

强制转换不了,你可以用别的手段来实现,比如:把135分成两个数,100和35.这样两个数就可以定义成byte类型。你要实现什么我也不清楚,这只是其中一种想法而已。仅供参考。楼下的好像也是一种实现方式,也可以试试。

JAVA中怎么将int数据转换为byte数据?
JAVA中根据以下代码将int数据转换为byte数据: public static byte[] int32ToBytes(int val) { int size = Integer.SIZE \/ Byte.SIZE; byte[] ret = new byte[size]; for (int i = 0; i < size; ++i) { ret[i] = (byte) (val << (8 * i) >> 56); } return ret;...

java中int类型如何将数字转换成byte字节数组
首先,最直接的方法是使用InputStream.read(byte[] b, int off, int len),这个方法会读取指定数量的字节到指定的byte数组中。例如:byte[] bytes = new byte[1024];int bytesRead = in.read(bytes);if (bytesRead != -1) { \/\/ bytesRead now holds the number of bytes read } 另一种...

int转换为byte溢出怎么计算结果?如 int a=135 转换为 byte 要汉字描述...
int是4个字节 而把int转换成byte会截取最后一个字节 比如你说的135 转为2进制应该有4个字节 然后仅仅要最后一个字节 最后一个字节的第一位被作为符号位135转换2进制后为10000111 然后按照 补码 计算规则看一下 把除了符号位之外 取反加1 变成11111001 这结果是-121 ...

java中int转化为bytes[]
byte是8位的二进制,int是32位的二进制,可以将32位拆开,放入byte[]中。这就是原理。具体做法:调用Integer里面的toBinaryString()方法,将你的int转换为二进制,这个二进制是String类型的,在调用String里面的getBytes(),这样就可以将int转换为byte[]了,这题就是在玩二进制,知道就行了。

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

Java中int类型转byte数组
详情请查看视频回答

java中int如何转换为byte
使用强制类型转换(又称窄转换)例如:int i=9;byte b=(byte) i;

JAVA里int型强制转化成byte型
因为java的byte类型只占一个字节,即2的8次方,表示的范围是0~127,128溢出了当做0,129为1,以此类推。所以 257转换为byte后的值为:257-128-128=1323转换为byte后:323-128-128=67

如何把int型转换为byte型
以JAVA为例,代码如下: byte[] byteArray = new byte[4]; for (int n = 0; n < byteNum; n++) byteArray[3 - n] = (byte) (integer>>> (n * 8)); return (byteArray); }

int 类型 转化为 byte 怎么转啊,,
问题描述还是不够详细,你只是转化一个变量么?直接强制类型转换就是了阿 如果你是将int中的每一个byte中的信息都获取出来独立成byte,那么又是另一个问题了

相似回答