我想声明一个以字节为单位的整数。 我的意思是:我试图将int a = 4声明为int a = 0100(为简单起见,我将它缩短为4位)。 以下是我使用过的代码,它给了我意想不到的输出。以位为单位表示一个整数:错误
public class class4A_d {
public static void main(String[] args) {
System.out.println("Hello world,this is the main function ");
int q1= 00000100; //8 bits
int q2 = 00000000000000000000000000000100; //32 bits
System.out.println("q1 and q2 are respectively "+ q1 + ":" + q2); //q1= 64,q2 =64
}
}
我知道的java存储整数作为在2 32位号码,S在后端补充与重量的以下列方式的每个比特进展: 2(^ 0),2(^ 1),2 (^ 2).....等。 但是在这里似乎权重是按照以下方式: 8(^ 0),8(^ 1),8(^ 2).....等等。 任何人都可以解释这一点吗?
的可能的复制[在Java中,可以予定义的整数二进制格式的常数α(http://stackoverflow.com/questions/867365/in-java-can-i-define-an-integer -constant-in-binary-format) – Marged
@已限制。我以前见过你提到的链接,它不回答我的问题伙伴。 –
你的位常数是错的 – Marged