VC中C++数值范围的确定
2024-10-13 12:01:22
1. Visual C++ 32 位和 64 位编译器可识别本文后面的表中的类型。
如果其名称以两个下划线 (__
) 开始,则数据类型是非标准的。
下表中指定的范围均包含起始值和结束值。
类型名称 | 字节 | 其他名称 | 值的范围 |
---|---|---|---|
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 | unsigned long int | 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 |
2. 代码移植性问题,由于 语言标准允许可移植代码特定于实现,因此推荐不使用 _ _ intX 类型,因为这是Microsoft VC独有的数据类型。
(1)int
和 unsigned``int
类型具有四个字节的大小。
但是,由于语言标准允许可移植代码特定于实现,因此该代码不应依赖于 int
的大小。
(2)__intn 类型说明符声明 8 位、16 位、32 位或 64 位整数变量,其中 n 为 8、16、32 或 64。
endl;
最新文章
- python import cv2 出错:cv2.x86_64-linux-gnu.so: undefined symbol
- zip ubuntu使用
- 【读书笔记】读《JavaScript高级程序设计-第2版》 - 函数部分
- 2016.09.14,英语,《Using English at Work》全书笔记
- 关于内存的5个函数(malloc,VirtualAlloc,GlobalAlloc,LocalAlloc,HeapAlloc)
- PHP IDE 框架 服务器 相关
- UVA 1572 Self-Assembly
- live555学习经验链接二
- 路径中“/” ";\"; ";\\";的区别
- android-学习1 配置环境
- js动态添加-表格逐行添加、删除、遍历取值
- mongoose多条件模糊查询实例
- 在mac OX10.11.6上安装MySQL
- Moq 在.net Core 单元测试中的使用
- Chapter 5 Blood Type——27
- java基础学习之";堆"; ";栈"; ";静态存储区"; ";方法区";
- js数组遍历方法总结
- Java集合之LinkedList源码分析
- Ubuntu中让归档管理器支持rar和7z格式
- CentOS 7配置Let’s Encrypt支持免费泛域名证书