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位时将变成负数

 

### C/C++ 中 `int` 数据类型的取值范围 在C/C++编程语言中,`int` 是一种常见的整数数据类型。为了获取特定平台上的 `int` 类型的最大值和最小值,可以使用标准库 `<limits>` 或者通过包含头文件 `<climits>` 来访问预定义的宏。 当采用模板类 `std::numeric_limits<int>::max()` 和 `std::numeric_limits<int>::min()` 函数来查询时,这适用于支持该特性的现代编译器版本[^1]: ```cpp #include <iostream> #include <limits> using namespace std; cout << "int数据类型最大值:" << numeric_limits<int>::max() << endl; cout << "int数据类型最小值:" << numeric_limits<int>::min() << endl; ``` 而在传统的做法里,则可以通过引入 `<climits>` 头文件并利用其中定义好的常量如 `INT_MAX` 和 `INT_MIN` 来获得相同的信息[^2]: ```cpp #include <iostream> #include <climits> using namespace std; cout << "int数据类型最大值:" << INT_MAX << endl; cout << "int数据类型最小值:" << INT_MIN << endl; ``` 值得注意的是,在某些嵌入式系统或者PLC环境中,由于硬件架构的原因,`int` 可能被限定为16位宽度,此时其有效数值区间通常是 -32,768 到 +32,767[^3]。然而对于大多数桌面级计算机而言,默认情况下 `int` 往往占用32位空间,因此能够容纳更大的绝对值范围。 具体来说,在典型的32位平台上,`int` 的最大正值大约是 2^31 - 1 即 2,147,483,647;而对应的最小负值则是 -(2^31),也就是 -2,147,483,648[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值