java中int如何转换byte

int z=257;
byte x=(byte)z;
为什么x等于1
希望能帮我详细解答下、

因为在java中,int类型的占4个字节,而byte占1个字节,所以int类型转化为byte类型时会出现位丢失情况,即将int的低8位作为byte类型的值。int型变量的值为257,对应的二进制是100000001,后8位是00000001,第一个0表示符号位,表示正数,所以变量x的值为1。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-14
int z = 257;//257转换成二进制是 1 00000001.
byte 占1个字节,只能截取后 8位,也就是 00000001.
二进制的 0000001 就是 十进制的 1.
第2个回答  2011-09-14
没错啊!就应该这样啊!希望采纳谢谢合作!
public class test {
public static void main(String[] args) {
int a=124;
byte b=(byte) a;
System.out.println(b);

}
}
你试下没错啊!
第3个回答  2018-07-05
BYTE B=(byte)(0XFF & int 数据);
如果数据比较大用左右移来 转就可以了

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 } 另一种...

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
使用强制类型转换(又称窄转换)例如:int i=9;byte b=(byte) i;

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

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

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

java 中各种数据类型转换byte[]的方法
i = (Integer)ois.readObject();System.out.println(i);} catch (Exception e) { }以上是把integer类型转化成byte[]数组类型。注:基本类型要转化为byte[]数组的话,需要用该基本类型的引用类。比如int的引用类是integer,就行了所有的类型,包括class都可以用这种序列化方式来转成byte[],...

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

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

java数组越界问题。int与byte转化问题。
比如 对于:byte b = (byte)1024;1024的二进制表示是:100 0000 0000 byte只能表示8位,从右往左截断,所以结果是 0000 0000,也就是 十进制的 0 byte b = (byte)257;257的二进制是:1 0000 0001 从右往左截断,结果是 0000 0001,也就是十进制的 1。当然如果是 byte b = (byte)...

相似回答