导航:首页 > 编程语言 > javaint转为byte数组

javaint转为byte数组

发布时间:2024-07-13 00:40:35

java 中各种数据类型转换byte[]的方法

ObjectOutputStream oos = null;//对象输出流
ByteArrayOutputStream baos = null;//byte数组输出流
ByteArrayInputStream s = null;//对象输入流
try {
//序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);//将数组流传入对象流
oos.writeObject(new Integer(1));//用对象流读取对象。
byte[] bytes = baos.toByteArray();//用数组流将传入的对象转化为byte数组
//反序列化
s = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(s);
Integer i = (Integer)ois.readObject();
System.out.println(i);
} catch (Exception e) {

}以上是把integer类型转化成byte[]数组类型。注:基本类型要转化为byte[]数组的话,需要用该基本类型的引用类。比如int的引用类是integer,就行了所有的类型,包括class都可以用这种序列化方式来转成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 0000 0000 ,换算成10进制为256,转成byte为0

其中具体是截断前面还是后面,是根据编译工具版本来决定的,不同的语言可能会有不同的定义。

这样说你大概可以明白了吧?

Ⅲ 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;

}

(3)javaint转为byte数组扩展阅读

Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。

byte,颤罩即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。樱坦

运算规则:

####正数的最高位都是 0 ,正数的值就是二进制表示的值。 ####

####负数的最高位都是 1 ,负数的值是 取反后加一 然后加个负号得到得值。 ####

Ⅳ 在java中如何将全为数字的字符串转化为byte数组

public class DigitsString{
public static void main(String[] args){
String s="99999";
byte[] bytes=s.getBytes();
for(int i=bytes.length-1;i>=0;i--){
bytes[i]-=(byte)'0';
}
for(int i=0;i<bytes.length;i++){
System.out.print(bytes[i]);
}
System.out.println();
}
}
一楼二楼的字节数组中元素的值不是对应数位的值,是数专位的ASCII码,根本不符合题属意

Ⅳ 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型

下面这个解答不是我写的,我也在看,还不是很明白,但这个解答是正确的:

这个是编码方式决定的,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来说,0111 1111是正数,值为127。
————————————————————————————————————
0 00000000
1 00000001
... ........
127 01111111
----------------
共 128 个
-1 11111111
-2 11111110
... ........
-128 10000000
----------------
共 128 个
我们都知道byte占8位。而2的8次方等于256,也就是byte最多可以表示256个不同的数,
0~127:128个
-0~127:128个
但是这里0与-0表示一样的数了,所以就用-0的二进制补码表示到-128里面去了

阅读全文

与javaint转为byte数组相关的资料

热点内容
超值猫qq群购秒杀群 浏览:138
pdf文件能备注吗 浏览:174
html可视化数据源码在哪里 浏览:387
adobereader专用卸载工具 浏览:28
vivo手机数据如何备份 浏览:888
ithmb文件转换器 浏览:66
看病找什么网站好 浏览:579
linux如何查看文件系统 浏览:581
linux统计点频率 浏览:627
全民泡泡大战安琪儿升级 浏览:620
编程scratch如何保存 浏览:750
aspnetmvc传json 浏览:132
如何下载看神片的狐狸视频app 浏览:579
怎样将木纹文件添加到cad 浏览:223
java中的hashset 浏览:70
mate8升级emui50吗 浏览:396
网络怎么校线 浏览:546
会玩app稀有宝箱里面有什么 浏览:718
打开icloud备份文件在哪里看 浏览:602
一个表格多个数据怎么样查找数据 浏览:466

友情链接