C语言整型详解

简介: C语言整型详解

1. 整数类型简介

1.1 类型说明

C语言定义了几种整数类型:短整型(short)、整型(int)、长整型(long)、更长的整型(long long)。这些类型可以被 signed 和 unsigned 修饰。

  • signed 修饰:带符号位,有正负号,可以表示负值。(默认情况)
  • unsigned 修饰:不带符号位,没有正负号,只能表示零和正整数。

计算机中的最小存储单位是 bit(位),1字节(byte)= 8位(bit)。

image.png

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语言的整数类型有着丰富的表达形式,各种类型和修饰符可以满足不同的需求。通过了解不同类型的取值范围和内存占用情况,我们能够更有效地利用整数类型。同时,精确宽度类型的使用可以增强代码的可移植性。

目录
相关文章
|
2月前
|
C语言
【C语言】求整型变量和浮点型变量的绝对值
【C语言】求整型变量和浮点型变量的绝对值
35 0
|
2月前
|
C语言
c语言点分十进制IP转整型
c语言点分十进制IP转整型
|
10月前
|
C语言
C语言:截断+整型提升+算数转换练习
截断+整型提升+算数转换练习
45 0
|
10月前
|
C语言
C语言:整型提升
C语言的整型算术运算至少是以缺省整型类型的精度来进行的。 为了达到这个精度,算术运算表达式中的 字符型char 和 短整型short 需要被转换为普通整型,这种转换成为整型提升。
60 0
|
2月前
|
C语言
c语言表达式求值--整型提升
c语言表达式求值--整型提升
|
1月前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
28 2
|
12天前
|
存储 编译器 C语言
【C语言】:整型提升,算术转换与大小端的介绍
【C语言】:整型提升,算术转换与大小端的介绍
9 0
|
15天前
|
C语言
C语言---单身狗(1)---在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字
C语言---单身狗(1)---在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字
10 0
|
1月前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
17 0
|
2月前
|
存储 编译器 C语言
爱上C语言:整型和浮点型在内存中的存储(进制转换,原码,反码,补码以及大小端)
爱上C语言:整型和浮点型在内存中的存储(进制转换,原码,反码,补码以及大小端)