C++数据类型:整型(整数类型)
在C++中,整型(整数类型)有以下几种:
1. int(有符号整数类型)
这是最常用的整型类型。在大多数32位系统中,int类型通常占用4个字节(32位),它可以表示的范围是:-2147483648到2147483647(即-2^{31}到2^{31}-1)。例如:
int num = 10;
2. short(有符号短整数类型)
通常占用2个字节(16位),表示的范围相对较小,是-32768到32767(即-2^{15}到2^{15}-1)。例如:
short shortNum = -5;
3. long(有符号长整数类型)
在32位系统中,long通常占用4个字节,与int相同;但在64位系统中,long可能占用8个字节(64位),表示的范围更大。例如:
long longValue = 100000L;
这里的L后缀用于明确表示这是一个long类型的常量,虽然在某些情况下可以省略,但在数值可能存在歧义时建议加上。
4. long long(有符号长长整数类型,C++11引入)
明确占用8个字节(64位),能表示的范围是-9223372036854775808到9223372036854775807(即-2^{63}到2^{63}-1)。例如:
long long bigNum = 1234567890123456789LL;
这里的LL后缀用于明确表示这是一个long long类型的常量。
5. unsigned int(无符号整数类型)
与int类型占用相同的字节数,但由于是无符号的,它表示的范围是0到4294967295(即0到2^{32}-1)。例如:
unsigned int unsignedNum = 500U;
这里的U后缀表示这是一个无符号整数常量。
6. unsigned short(无符号短整数类型)
占用2个字节,范围是0到65535(即0到2^{16}-1)。例如:
unsigned short unsignedShortNum = 1000u;
这里的u后缀表示无符号短整数常量。
7. unsigned long(无符号长整数类型)
在32位系统中占用4个字节,在64位系统中可能占用8个字节,无符号表示的范围相应变化。例如:
unsigned long unsignedLongNum = 50000UL;
这里的UL后缀表示无符号长整数常量。
8. unsigned long long(无符号长长整数类型,C++11引入)
占用8个字节,范围是0到18446744073709551615(即0到2^{64}-1)。例如:
unsigned long long unsignedBigNum = 1234567890123456789ULL;
这里的ULL后缀表示无符号长长整数常量。
这些整型类型可以满足不同的数值范围需求,在编程时需要根据具体情况选择合适的整型类型。
整型数据以二进制补码形式存储:
正数的存储:正数的补码就是其原码本身。例如,整数5的二进制原码是00000000000000000000000000000101(这里假设是 32 位系统,实际上根据不同的整型类型,占用的位数会有所不同),那么在内存中存储的就是这个二进制形式。
负数的存储:负数的补码是其绝对值的原码按位取反,然后最低位加 1。比如,-5的绝对值5的原码是00000000000000000000000000000101,按位取反后得到11111111111111111111111111111010,再加 1 就变成11111111111111111111111111111011,这就是-5在内存中的存储形式。
C++编程语言基础
- C++:从入门到工作的教程
- 这是我的第一个 C++程序!
- C++中main函数有什么作用?
- C++中 #include 指令的作用
- C++中常用的预处理指令
- C++中 iostream 头文件定义了什么
- C++名称空间(namespace)
- C++标准库中 std 命名空间定义了些什么
- C++常用的头文件
- C++源代码的发布方式
- C++变量名的定义、变量的作用、使用规范
- C++的关键字列表
- C++数据类型:整型(整数类型)
- 二进制补码、原码、反码
- C++数据类型:char字符型(整数类型)
- ASCII码表及C++字符函数库(cctype)
- 计算机汉字编码
- C++数据类型:bool类型(整数类型)
- C++中 const 限定符
- C++数据类型:浮点数
- C++运算符:算术运算符
- C++运算符:类型转换规则
- 计算机数据存储大小端模式
- C++运算符:位运算 与 bitset类库
- C++运算符:关系运算符与逻辑运算符
- C++流程控制:顺序、选择、循环、跳转语句
- C++函数的定义、参数传递、重载、嵌套
- C++数组:一维、二维、多维数组的运用
- C-style字符串、库函数 与 std::string对象
- C++数据类型:结构体(struct)
- C++数据类型:联合体(union)
- C++数据类型:枚举(enum)
- C++数据类型别名:typedef
- C++指针
- C++内存操作符:new分配 与 delete释放
- C++标准模板库(STL)容器、算法、迭代器
- C++标准模板库(STL)vector顺序容器
- C++标准模板库(STL)array固定容器
- C++标准模板库(STL)list双向链表容器
- C++标准模板库(STL)deque双端队列
- C++标准模板库(STL)集合 set 关联容器
- C++标准模板库(STL)map关联容器
- C++标准模板库(STL)unordered_set
- C++标准模板库(STL)unordered_map
- C++标准模板库(STL)algorithm算法库
- C++文件操作
- C++数学库(cmath)数学常量与数学函数
- C++模板:函数模板、类模板
- C++与SQLite3联合打造实用的应用程序
- C++实战开发中常用的库(概述)
- 第二部分:C++面向对象编程
- C++:类的定义与声明、类对象应用
- 第三部分:数据结构与算法(概述)
- 第一部分:C++语言简介与学习路线