C语言整型详解
2024-01-08 09:33:51
1. 整数类型简介
1.1 类型说明
C语言定义了几种整数类型:短整型(short)、整型(int)、长整型(long)、更长的整型(long long)。这些类型可以被 signed 和 unsigned 修饰。
- signed 修饰:带符号位,有正负号,可以表示负值。(默认情况)
- unsigned 修饰:不带符号位,没有正负号,只能表示零和正整数。
计算机中的最小存储单位是 bit(位),1字节(byte)= 8位(bit)。
类型 | 修饰符 | 占用空间 | 取值范围 |
---|---|---|---|
short [int] | signed | 2字节(=16位) | -32768 ~ 32767 (- 2 15 2^{15} 215 ~ 2 15 2^{15} 215-1) |
short [int] | unsigned | 2字节(=16位) | 0 ~ 65535 (0 ~ 2 16 2^{16} 216-1) |
int | signed | 通常4字节 | -2147483648 ~ 2147483647 (- 2 31 2^{31} 231 ~ 2 31 2^{31} 231-1) |
int | unsigned | 通常4字节 | 0 ~ 4294967295 (0 ~ 2 32 2^{32} 232-1) |
long [int] | signed | 4字节或8字节 | 4字节时:-2147483648 ~ 2147483647 (- 2 31 2^{31} 231 ~ 2 31 2^{31} 231-1) |
long [int] | unsigned | 4字节或8字节 | 4字节时:-0 ~ 4294967295 (0 ~ 2 32 2^{32} 232-1) |
long long | signed | 8字节(=64位) | -9223372036854775808~ 9223372036854775807(- 2 63 2^{63} 263 ~ 2 63 2^{63} 263-1) |
long long | unsigned | 8字节(=64位) | 0 ~ 18446744073709551615(0 ~ 2 64 2^{64} 264-1) |
1.2 举例
1.2.1 signed 和 unsigned
signed int m; // 等同于 int m;
unsigned int a;
1.2.2 类型简写
short a;
long b;
long long c;
1.2.3 后缀用法
long x = 123L; // 或者写成 123l
long long y = 123LL;
unsigned int z = 123U;
unsigned long int w = 1234UL;
1.3 整数的极限值
#include <limits.h>
int main() {
printf("%d\n", INT_MIN ); // -2147483648
printf("%d\n", INT_MAX ); // 2147483647
return 0;
}
2. 精确宽度类型
#include <stdint.h>
int main() {
int32_t x32 = 45933945; // int32_t 类型,保证32位宽度。
printf("x32 = %d\n", x32);
return 0;
}
3. 总结
C语言的整数类型有着丰富的表达形式,各种类型和修饰符可以满足不同的需求。通过了解不同类型的取值范围和内存占用情况,我们能够更有效地利用整数类型。同时,精确宽度类型的使用可以增强代码的可移植性。
文章来源:https://blog.csdn.net/qq_29752857/article/details/135427608
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!