C++数据类型范围
2016-08-11 22:11
204 查看
C++中有很多基本的数据类型,我们在使用过程中需要根据所需要存储数据的范围的不同而选择恰当的数据类型。
Visual C++ 32 位和 64 位编译器可识别本文后面的表中的类型。
int (unsignedint)
__int8 (unsigned__int8)
__int16 (unsigned__int16)
__int32 (unsigned__int32)
__int64 (unsigned__int64)
short (unsignedshort)
long (unsignedlong)
long long (unsignedlonglong)
如果其名称以两个下划线 (__) 开始,则数据类型是非标准的。
下表中指定的范围均包含起始值和结束值。
根据使用方式,__wchar_t 的变量指定宽字符类型或多字节字符类型。 在字符或字符串常量前使用 L 前缀以指定宽字符类型常量。
signed 和 unsigned 是可用于任何整型(bool 除外)的修饰符。 请注意,对于重载和模板等机制而言,char、signed char 和 unsigned char 是三种不同的类型。
int 和 unsignedint 类型具有四个字节的大小。 但是,由于语言标准允许可移植代码特定于实现,因此该代码不应依赖于 int 的大小。
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com
Visual C++ 32 位和 64 位编译器可识别本文后面的表中的类型。
int (unsignedint)
__int8 (unsigned__int8)
__int16 (unsigned__int16)
__int32 (unsigned__int32)
__int64 (unsigned__int64)
short (unsignedshort)
long (unsignedlong)
long long (unsignedlonglong)
如果其名称以两个下划线 (__) 开始,则数据类型是非标准的。
下表中指定的范围均包含起始值和结束值。
类型名称 | 字节 | 其他名称 | 值的范围 |
int | 4 | signed | –2,147,483,648 到 2,147,483,647 |
unsigned int | 4 | unsigned | 0 到 4,294,967,295 |
_int8 | 1 | char | –128 到 127 |
unsigned _int8 | 1 | unsigned char | 0 到 255 |
__int16 | 2 | short、short int、signed short int | –32,768 到 32,767 |
unsigned __int16 | 2 | unsigned short、unsigned short int | 0 到 65,535 |
__int32 | 4 | signed、signed int、int | –2,147,483,648 到 2,147,483,647 |
unsigned __int32 | 4 | unsigned、unsigned int | 0 到 4,294,967,295 |
__int64 | 8 | long long、signed long long | –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned __int64 | 8 | unsigned long long | 0 到 18,446,744,073,709,551,615 |
bool | 1 | 无 | false 或 true |
char | 1 | 无 | -128 到 127(默认) 0 到 255(当使用 /J 编译时) |
signed char | 1 | 无 | –128 到 127 |
unsigned char | 1 | 无 | 0 到 255 |
short | 2 | short int、signed short int | –32,768 到 32,767 |
unsigned short | 2 | unsigned short int | 0 到 65,535 |
long | 4 | long int、signed long int | –2,147,483,648 到 2,147,483,647 |
unsigned long | 4 | 0 到 4,294,967,295 | |
long long | 8 | 无(与 __int64 等效) | –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long long | 8 | 无(与无符号的 __int64 等效) | 0 到 18,446,744,073,709,551,615 |
enum | varies | 无 | 用户自己定义的类型,其中包含一组称为枚举器的命名的整型常数。 |
浮动 | 4 | 无 | 3.4E +/- 38(7 位数) |
double | 8 | 无 | 1.7E +/- 308(15 位数) |
long double | 与double相同 | 无 | 与 double 相同 |
wchar_t | 2 | __wchar_t | 0 到 65,535 |
signed 和 unsigned 是可用于任何整型(bool 除外)的修饰符。 请注意,对于重载和模板等机制而言,char、signed char 和 unsigned char 是三种不同的类型。
int 和 unsignedint 类型具有四个字节的大小。 但是,由于语言标准允许可移植代码特定于实现,因此该代码不应依赖于 int 的大小。
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com
相关文章推荐
- 还是一道旋转数组的题目
- c++的几种对象模型
- C++ 重载运算符
- 洛谷 P2278 [03湖南] 操作系统
- 关于“应用程序无法启动,因为应用程序的并行配置不正确”
- c语言中register类型的变量
- C++ Socket 一个服务器 多个客户端 (阻塞式)
- c++之基础知识(2)重载 操作符重载
- 多线段覆盖 求覆盖区间的总和
- Effective C++_Item16笔记
- Effective C++笔记(1)
- C++中的虚基类
- 【动态规划】LCS算法:求两字符串最大公共子序列/删除字符使成为回文串
- 华为上机题汇总(六)
- c++ string类实现
- C语言有符号数与无符号数之间的转换
- C++11 多线程
- C++ 模板函数
- C++ const
- c/c++中各数据类型在内存中的存储方式