Java int到无符号字节

时间:2013-05-17 15:07:07

标签: java integer byte signed

长话短说,我正在从一个文件中读取一些整数值,然后我需要将它们存储在一个字节数组中,以便以后写入另一个文件。

例如:

int number = 204;
Byte test = new Byte(Integer.toString(number));

此代码抛出:

java.lang.NumberFormatException: Value out of range. Value:"204" Radix:10

这里的问题是一个字节只能存储-127 - 128,所以很明显这个数字太高了。我需要做的是将数字签名,这是值-52,它将适合字节。但是,我不确定如何做到这一点。

有人可以提供建议吗?

由于

3 个答案:

答案 0 :(得分:15)

更简单的方法是施展它:

int number = 204;
byte b = (byte)number;
System.out.println(b);

打印-52

答案 1 :(得分:4)

你可以施展它:

Byte test = (byte) number;

答案 2 :(得分:1)

使用此:

  byte b = (byte) ((0xFF) & number);