整形 🦢 (int):2,147,483,648 至 2,147,483,647
长 💐 整形 🐟 (long):9,223,372,036,854,775,808 至 9,223,372,036,854,775,807
内存占用整形 🌿 :4 字 🌴 节 🌵
长整形:8 字 🐛 节
使用场景在大多数情况下,整形就足够了。但,是,对于 🐦 需要处 🐘 理大 💐 数值的场景则需要使用长整形:
计 🐵 算密集型应用,如科学计算或财务建模
存储大型整数数据,如 🐵 数据库主 🦈 键或用 🌿 户 ID
处理时间戳或日期范围,这些 🌴 值可 🐬 能超 🦊 出整形范围
其他差异后 ☘ 缀:整形变量使用后缀 `i`(例如:`int i = 5;`),而长整形变 🦉 量使用后缀例如 `l`(:`long l = 5L;`)
格 🍁 式说明符:在 `printf` 函数中 🐅 ,整形使用格式说明符 `%d`,而长整形使用格式说明符 `%ld`
示例c++
int age = 30; // 整形 🦟 ,表示年 🌷 龄
long population = L; // 长整 🌼 形 🐅 ,表示人口
整 🐈 形 🐬 (int)
32 位整数 🍁
范 🐛 围为 🐒 [2^31, 2^31 1]
在大多数情况下表 🐛 示为有符号整数
内 🦈 存占用 4 字节 🦁
长 🐒 整形 🌾 (long int)
64 位 🐛 整 🦋 数 🐶
范 🐠 围 🐳 为 🐳 [2^63, 2^63 1]
在 🌲 大多数 🌾 情况下表示为有符号整数
内存 🐧 占用 8 字节
差异:| 特征 | 整 | 形 🦅 |长 🌺 整 🕊 形
||||| 位 🌳 数 🐞 | 32 | 64 |
| 范 🐵 围 🍀 | [2^31, 2^31 1] | [2^63, 2^63 1] |
| 内 🐋 存占用 🦅 | 4 字 🐳 节字节 | 8 |
| 默认 🐛 是有符号 🌺 吗是是 | | |
使用场景:如果需要存储较小 🌾 的整数值(例如用户 ID 或订单号),则使用 🌲 整形。
如果 🐞 需要存储较大或范围更广的整数值(例如人口 🐯 统计或财务数据),则使用长 🌴 整形。
整 🐧 形 🐧 (int)
取 🐵 值范围:
有符号整数:2^(n1) 到 2^(n1)1,其 🐎 中 n 是 🐎 整型的位数
无 🌷 符号整数:0 到 2^n1
长 🌲 整型 (long int)
取值 🐠 范 🌸 围:
有符号整数:2^(n1) 到 2^(n1)1,其中 n 是长整型 🦅 的位数
无符 🦉 号整 🦊 数:0 到 🐵 2^n1
常 🐱 见位数和取 ☘ 值范围:
| 位数 🐈 | 有 | 符 🪴 |号整数无 🐎 符号整数
||||| 16 | 32,768 到 🦆 到 🦊 32,767 | 0 65,535 |
| 32 | 2,147,483,648 到 🦁 到 🐡 2,147,483,647 | 0 4,294,967,295 |
| 64 | 9,223,372,036,854,775,808 到 🦆 到 🍁 9,223,372,036,854,775,807 | 0 18,446,744,073,709,551,615 |
注意:不同编程语言和 🌷 平台可能使用不同的取值范围。
具体取值范围应 💐 参考特定编程语言的文档。
整形(short)和长整 🦁 形(long)之间可以按以下 🐠 方式转换:
从整形到长 🦄 整形 (short > long)
直接赋值:只需将整形变 🦟 量 🌷 分配给长整形变量,它将自动转换。
从长整形到整 🕊 形 (long > short)
显式转换: 手动将 🐡 长整形变量 🕸 强制转换为整形,使用 (short) 运 🦈 算符。但,是,如。果值超出整形范围可能会导致数据截断
隐式转换: 如果长整形值在整形范围内,可以 🌼 将它赋值给整形变量 🦅 而不进行显式转换。但,是如果值 🕸 ,超。出范围它将被截断
示例代码:java
short s = 10;
long l = s; // 隐式转换整 🦄 形 🍀 到长整形
long l2 = 10000;
short s2 = (short) l2; // 显 🐳 式转 🐵 换长整形到整 🐼 形
System.out.println("整 🐵 形的 🕸 值:" + s);
System.out.println("长整 🐺 形 🦉 的值:" + l);
System.out.println("转换后的整形的值 🌿 :" + s2);
整 🦄 形的值:10
长 🐺 整 🐠 形的值 🐈 :10
转换后的整形的值 🐟 :24576
在 🦟 这个例 🌴 子中,当将长整形值 10000 显,式转换为整形时它被截断为 24576,因为整数范 🐘 围为 32768 到 32767。