java 中 int转成 byte【2】

如题所述

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

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

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的byte类型只占一个字节,即2的8次方,表示的范围是0~127,128溢出了当做0,129为1,以此类推。所以 257转换为byte后的值为:257-128-128=1323转换为byte后:323-128-128=67

在Java中int类型强转为byte类型,强转为byte之后,数据超出byte的表述范围...
byte的最小值是-128,最大值是127,就好像一杯水的容量是有限的,当你杯子的水装满了,自然也就会溢出,127就好像是杯子最上面的那一层水,你只要加上一滴,就会溢出,流到杯子底部,而杯子的最底部就是-128。按照这种逻辑,你的i+r=156,也就是有28流到了底部,最底部是-128,被28覆盖了28,...

java中int转换byte型
这个是编码方式决定的,Java中正数用源码表示,负数用补码表示,第一位是符号位。所以对于128和-129,他们的编码分别是:0000 0000 0000 0000 0000 0000 1000 0000 1111 1111 1111 1111 1111 1111 0111 1111。对于a来说,1000 0000是负数(第一位为1),它的绝对值是1000 0000即128,而对于b来说...

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

在Java中int转byte类型,超出byte的范围该如何计算,答案尽可能详细_百 ...
一个字节byte长8位,也就是2的8次方,换成2进制后就是 00000000~11111111 取值范围就是那么多,10进制就是0~255。如果更长的类型如int转成更短的类型,那么只保留短类型那么多长度的数据。假设类型A为9位,其某变量值为 0 1111 1111 ,10进制为255,转成byte正好也是255 假设类型A变量值为 1 ...

java读取文件时 int强制转换为 byte,是如何保证结果正确的??不是损失...
楼主没有真正理解input.read()这个方法,它的返回值是下一个读取的byte值(会自动转换为int),或者-1(表示读到文件尾,注意,这个-1 是int型),而楼主强行将其转换成byte,将不会产生数据溢出,故此结果是正确的,为效率性能计,建议楼主采用public int read(byte[] b)这个方法。

相似回答
大家正在搜