📜  C++中的数据类型范围及其宏(1)

📅  最后修改于: 2023-12-03 14:39:58.455000             🧑  作者: Mango

C++中的数据类型范围及其宏

在C++中,预定义了许多数据类型,这些数据类型的用途和范围不尽相同。在程序设计中,选择合适的数据类型可以提高性能,提高代码可读性,降低错误率等。本文将围绕C++中的数据类型范围及其宏作介绍。

基本数据类型

C++中的基本数据类型包括整型、浮点型、字符型、布尔型等。这些数据类型都有其对应的范围,使用时应注意其取值范围。以下为常用基本数据类型在C++中的取值范围表格:

| 数据类型 | 字节数 | 取值范围 | | ----------- | ------ | ---------------------------------------------------- | | char | 1 | -128 ~ 127 或 0 ~ 255 | | bool | 1 | true 或 false | | int | 4 | -2,147,483,648 ~ 2,147,483,647 | | unsigned | 4 | 0 ~ 4,294,967,295 | | short | 2 | -32,768 ~ 32,767 | | unsigned short | 2 | 0 ~ 65,535 | | long | 4/8 | -2,147,483,648 ~ 2,147,483,647 (32位系统) or 9,223,372,036,854,775,807 (64位系统) | | unsigned long | 4/8 | 0 ~ 4,294,967,295 (32位系统) or 18,446,744,073,709,551,615 (64位系统) | | float | 4 | 3.4e-38 ~ 3.4e38 | | double | 8 | 1.7e-308 ~ 1.7e308 | | long double | 16 | 1.1e-4932 ~ 1.1e4932 |

数据类型宏

为了更方便地使用数据类型,C++中预定义了一些宏。这些宏定义了数据类型的取值范围,可以减少程序员使用数据类型的出错率。以下为常用数据类型宏的定义:

#include <limits.h> // 需要使用limits.h头文件

// char
SCHAR_MAX    // 最大有符号数值 127
SCHAR_MIN    // 最小有符号数值 -128
UCHAR_MAX    // 最大无符号数值 255

// bool
true
false

// int
INT_MAX      // 最大有符号数值 2147483647
INT_MIN      // 最小有符号数值 -2147483648
UINT_MAX     // 最大无符号数值 4294967295

// short
SHRT_MAX     // 最大有符号数值 32767
SHRT_MIN     // 最小有符号数值 -32768
USHRT_MAX    // 最大无符号数值 65535

// long
LONG_MAX     // 最大有符号数值 9223372036854775807 (64位系统) or 2147483647 (32位系统)
LONG_MIN     // 最小有符号数值 -9223372036854775808 (64位系统) or -2147483648 (32位系统)
ULONG_MAX    // 最大无符号数值 18446744073709551615 (64位系统) or 4294967295 (32位系统)

// float
FLT_MAX      // 最大浮点数 3.40282347e+38F
FLT_MIN      // 最小浮点数 1.17549435e-38F

// double
DBL_MAX      // 最大双精度数 1.7976931348623157e+308
DBL_MIN      // 最小双精度数 2.2250738585072014e-308

// long double
LDBL_MAX     // 最大长双精度数 1.18973149535723176502126385303e+4932L
LDBL_MIN     // 最小长双精度数 3.36210314311209350626267781732e-4932L
总结

C++中的数据类型范围及其宏是程序设计中必须掌握的知识点。合理选用合适的数据类型不仅可以提高程序性能,降低代码出错率,还可以提高代码的可读性。在实际开发中,我们应该根据需要灵活选择数据类型,利用好C++中的数据类型宏,更好地掌控程序。