int 最大值

package testjava;

public final class test {

public static void main(String[] args) {

int dass = 1 << 32;

int aa = Integer.MAX_VALUE;

System.out.println("aa=" + aa);

for (int a = 0; a < 33; a++) {

int dbss = 1 << a;

if (dbss == 2147483647) {

System.out.println("a=" + a + "----------dbss=" + dbss);

break;

} else {

System.out.println("a=" + a + "----------dbss=" + dbss);

// System.out.println("dbss="+dbss);

}

}

// TODO Auto-generated method stub

/*

* testjava test=new testjava(); test.cry(); // test.cry2();

* System.out.println(dass); System.out.println(aa);

*/ 

}

}

=============================输出=====================================

aa=2147483647

a=0----------dbss=1

a=1----------dbss=2

a=2----------dbss=4

a=3----------dbss=8

a=4----------dbss=16

a=5----------dbss=32

a=6----------dbss=64

a=7----------dbss=128

a=8----------dbss=256

a=9----------dbss=512

a=10----------dbss=1024

a=11----------dbss=2048

a=12----------dbss=4096

a=13----------dbss=8192

a=14----------dbss=16384

a=15----------dbss=32768

a=16----------dbss=65536

a=17----------dbss=131072

a=18----------dbss=262144

a=19----------dbss=524288

a=20----------dbss=1048576

a=21----------dbss=2097152

a=22----------dbss=4194304

a=23----------dbss=8388608

a=24----------dbss=16777216

a=25----------dbss=33554432

a=26----------dbss=67108864

a=27----------dbss=134217728

a=28----------dbss=268435456

a=29----------dbss=536870912

a=30----------dbss=1073741824

a=31----------dbss=-2147483648

a=32----------dbss=1

============================结论================================

java  int 最大值是1位移30位之后取最大值! 位移31位时将变成负数

猜你喜欢

转载自sailiann.iteye.com/blog/2054249