导航:首页 > 编程语言 > 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数组相关的资料

热点内容
如何提高配套文件科学性 浏览:552
免费qq在线客服代码 浏览:615
网络摄像机和麦克风的使用点不了 浏览:872
win10资源文件夹卡死 浏览:431
联想笔记本如何添加网络连接 浏览:821
钉钉文件下载到微信用哪个浏览器 浏览:252
word怎么删掉第一页 浏览:215
为什么小米5不能升级系统 浏览:768
复古摄影教程 浏览:803
u盘里文件显示文件夹空 浏览:574
如何编程年月日的进制 浏览:351
升级电脑硬件注意什么 浏览:827
cnc铣床多主轴如何编程 浏览:640
怎么下载网站所有图片 浏览:967
远程传文件最快的软件下载 浏览:425
怎么弄电影网站 浏览:209
淘宝编程培训班怎么样 浏览:732
公文系统物理文件 浏览:903
c语言编程变量幂怎么写 浏览:73
bat文件怎么写 浏览:117

友情链接