相关疑难解决方法(0)

Java和0xff的值是什么?

我有以下Java代码:

byte value = 0xfe; // corresponds to -2 (signed) and 254 (unsigned)
int result = value & 0xff;
Run Code Online (Sandbox Code Playgroud)

打印时结果是254,但我不知道这段代码是如何工作的.如果&运算符只是按位,那么为什么它不会产生一个字节而是一个整数呢?

java byte integer bitwise-and

91
推荐指数
3
解决办法
10万
查看次数

将4个字节转换为int

我正在读这样的二进制文件:

InputStream in = new FileInputStream( file );
byte[] buffer = new byte[1024];
while( ( in.read(buffer ) > -1 ) {

   int a = // ??? 
}
Run Code Online (Sandbox Code Playgroud)

我想做什么来读取最多4个字节并从那些创建一个int值但是,我不知道该怎么做.

我觉得我必须一次抓取4个字节,并执行一个"字节"操作(如>> << >>&FF和类似的东西)来创建新的int

这个成语是什么?

编辑

哎呀,结果有点复杂(解释)

我想要做的是,读取一个文件(可能是ascii,二进制,无所谓)并提取它可能具有的整数.

例如,假设二进制内容(在基数2中):

00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000010
Run Code Online (Sandbox Code Playgroud)

整数表示应该是1,2对吗?: - 前1位为32位,其余32位为2位.

11111111 11111111 11111111 11111111
Run Code Online (Sandbox Code Playgroud)

将是-1

01111111 11111111 11111111 11111111
Run Code Online (Sandbox Code Playgroud)

将会 Integer.MAX_VALUE ( 2147483647 )

java data-conversion

69
推荐指数
5
解决办法
10万
查看次数

Java:将字节转换为整数

我需要在java中将2字节数组(byte [2])转换为整数值.我怎样才能做到这一点?

java

15
推荐指数
2
解决办法
5万
查看次数

标签 统计

java ×3

bitwise-and ×1

byte ×1

data-conversion ×1

integer ×1