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

热点内容
shell循环文件名 浏览:602
照片3d建模源代码 浏览:434
西安iPhone6升级内存 浏览:84
小学生的编程的课是学什么的 浏览:114
就业下载什么app 浏览:191
个人配置文件重定向到D盘 浏览:22
js屏幕宽度 浏览:312
sql查找某列重复数据库 浏览:48
智行火车票用微信支付 浏览:262
网络定价过程哪些内容发生变化 浏览:200
dubbo服务提供者的配置文件 浏览:182
win8系统如何压缩文件 浏览:875
网站怎么上传代码 浏览:4
java日志的好处 浏览:103
武汉奇米网络怎么样 浏览:689
笔记本如何恢复原来数据 浏览:76
charles怎么抓取js 浏览:580
网络智豹破解版 浏览:424
pdf文件一键转蓝 浏览:563
2014yy钓鱼网站源码 浏览:835

友情链接