导航:首页 > 编程语言 > 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群里的机器人买武器 浏览:428
捕鱼达人历史版本 浏览:73
mp4视频文件解密软件 浏览:62
多轴编程哪个软件最方便 浏览:27
老平板哪个是显示屏数据线插座 浏览:849
5sing上传音频文件格式 浏览:171
win10输入文件鼠标右键异常 浏览:634
听幼儿故事用什么app 浏览:514
iphone修改音频文件名 浏览:53
国家气象站点数据在哪里下载 浏览:342
网络设置的网站 浏览:914
手机测量放样怎么导数据和线型 浏览:648
企业展示型网站源码 浏览:781
易花花app哪里下载 浏览:323
外国程序员职业生涯长 浏览:709
看理想app怎么注销账号 浏览:545
数控铣床加工手工编程的步骤有哪些 浏览:411
uc浏览器为什么很多网站进不了 浏览:513
西部数据移动硬盘怎么 浏览:645
批处理修改子目录文件名命令 浏览:405

友情链接