Java:为什么可以';t代表+;128?
这部分代码应该返回以LittleEndian表示的10000000,然后是128,但它返回-128。我知道128在二进制表示中与-128相同,但为什么不能表示128呢Java:为什么可以';t代表+;128?,java,bitset,Java,Bitset,这部分代码应该返回以LittleEndian表示的10000000,然后是128,但它返回-128。我知道128在二进制表示中与-128相同,但为什么不能表示128呢 BitSet bset = new BitSet(); bset.set(7); byte[] bitarray = bset.toByteArray(); for (byte b: bitarray) System.out.println(b); 因为Java中只有带符号的整数类型。8位10000002字节的第一位为1,即。
BitSet bset = new BitSet();
bset.set(7);
byte[] bitarray = bset.toByteArray();
for (byte b: bitarray)
System.out.println(b);
因为Java中只有带符号的整数类型。8位10000002字节的第一位为1,即。因此,Java中字节
类型的范围是。看看这个:
byte b = 127;
byte b2 = (byte)(b + 1); //-128
Java只支持签名
字节:字节数据类型是一个8位有符号2的补码整数。它的最小值为-128,最大值为127(含)。字节数据类型对于在大型阵列中节省内存非常有用,而实际上节省内存很重要。它们也可以用来代替int,因为它们的限制有助于澄清代码;变量的范围是有限的这一事实可以作为文档的一种形式
作为一个很小的旁白