Java中的字节[]数组(大小声明)
我已经声明了3种不同类型的字节数组(大小不同)。由于我无法理解编译器是如何计算Java中的字节[]数组(大小声明),java,arrays,Java,Arrays,我已经声明了3种不同类型的字节数组(大小不同)。由于我无法理解编译器是如何计算长度的,请参见每个旁边的注释 byte[] byteField0 = new byte[2^3]; System.out.println("bitField0 " + byteField0.length); // Gives 1 byte instead of 8? byte[] byteField2 = new byte[2^5]; System.out.print
长度的,请参见每个旁边的注释
byte[] byteField0 = new byte[2^3];
System.out.println("bitField0 " + byteField0.length); // Gives 1 byte instead of 8?
byte[] byteField2 = new byte[2^5];
System.out.println("byteField2 " + byteField2.length); // Gives 7 bytes instead of 32?
byte[] byteField3 = new byte[8];
System.out.println("bitField3: " + byteField3.length); // Gives 8 bytes as expected
这与数组大小无关。单独打印这些数字,或者更重要的是,以二进制形式打印
^
是异或位运算符,而不是数学.pow的替代品
或者如注释中所述,二的幂可以通过不同的位运算符来实现,左移位这与数组大小无关。单独打印这些数字,或者更重要的是,以二进制形式打印
^
是异或位运算符,而不是数学.pow的替代品
或者如注释中所述,二的幂可以通过不同的位运算符来实现,左移位^
是异或运算符(xor)。要使用^
是异或运算符(xor)。要使用