C++数据类型总结
关键字:C++, 数据类型, VS2015。
OS:Windows 10。
ANSI C/C++基本数据类型:
|
Type |
Size |
数值范围 |
|
无值型void |
0 byte |
无值域 |
|
布尔型bool |
1 byte |
true false |
|
有符号短整型short [int] /signed short [int] |
2 byte |
-32768~32767 |
|
无符号短整型unsigned short [int] |
2 byte |
0~65535 |
|
有符号整型int /signed [int] |
4 byte |
-2147483648~2147483647 |
|
无符号整型unsigned [int] |
4 byte |
0~4294967295 |
|
有符号长整型long [int]/signed long [int] |
4 byte |
-2147483648~2147483647 |
|
无符号长整型unsigned long [int] |
4 byte |
0~4294967295 |
|
long long |
8 byte |
0~18446744073709552000 |
|
有符号字符型char/signed char |
1 byte |
-128~127 |
|
无符号字符型unsigned char |
1 byte |
0~255 |
|
宽字符型wchar_t (unsigned short.) |
2 byte |
0~65535 |
|
单精度浮点型float |
4 byte |
-3.4E-38~3.4E+38 |
|
双精度浮点型double |
8 byte |
1.7E-308~1.7E+308 |
|
long double |
8 byte |
|
|
指针(char*) |
4 byte/8byte |
32bit的应用程序指针是4byte。 64bit的应用程序指针是8byte。 |
注:
(1)类型修饰符signed和unsigned用于修饰字符型和整形。
(2)类型修饰符short和long用于修饰字符型和整形。
(3)当用signed和unsigned、short和long修饰int整形时,int可省略。
(4)其中bool和wchar_t是C++特有的。对于条件判断,零为假,非零为真,对bool变量可赋非0非1的其他真值。
(5)float的精度(6位有效数字)通常是不够的,double类型可以保证10位有效数字,能够满足大多数计算的需要。使用double类型基本不会出错,在float类型中存在隐式的精度损失。默认的浮点字面值常量为double类型,在数值后面加上F或f表示单精度,例如3.14159F。浮点数float、double的存储设计,从本质上来说是设计了一个数值映射,充分利用了二进制存储的特点。参考IEEE754浮点数表示标准。
(6)指针在32bit应用程序里大小是4byte,在64bit应用程序里面大小是8byte。
-----------------------------------------------------------------------------------------------------------------
下面用VS2015创建一个Win32控制台工程来检验各数据类型的大小,代码如下:
#include "stdafx.h"
#include <iostream>
using namespace std; int _tmain(int argc, _TCHAR* argv[])
{
cout << "sizeof(bool)" << sizeof(bool) << endl;
cout << "sizeof(short )" << sizeof(short) << endl;
cout << "sizeof(signed short)" << sizeof(signed short) << endl;
cout << "sizeof(unsigned short)" << sizeof(unsigned short) << endl;
cout << "sizeof(int)" << sizeof(int) << endl;
cout << "sizeof(unsigned int)" << sizeof(unsigned int) << endl;
cout << "sizeof(long)" << sizeof(long) << endl;
cout << "sizeof(unsigned long)" << sizeof(unsigned long) << endl;
cout << "sizeof(long long)" << sizeof(long long) << endl;
cout << "sizeof(char)" << sizeof(char) << endl;
cout << "sizeof(unsigned char)" << sizeof(unsigned char) << endl;
cout << "sizeof(wchar_t)" << sizeof(wchar_t) << endl;
cout << "sizeof(float)" << sizeof(float) << endl;
cout << "sizeof(double)" << sizeof(double) << endl;
cout << "sizeof(long double)" << sizeof(long double) << endl;
cout << "sizeof(char*)" << sizeof(char*) << endl; return ;
}
sizeof(bool)1
sizeof(short )2
sizeof(signed short)2
sizeof(unsigned short)2
sizeof(int)4
sizeof(unsigned int)4
sizeof(long)4
sizeof(unsigned long)4
sizeof(long long)8
sizeof(char)1
sizeof(unsigned char)1
sizeof(wchar_t)2
sizeof(float)4
sizeof(double)8
sizeof(long double)8
sizeof(char*)4
运行结果(64bit):
sizeof(bool)1
sizeof(short )2
sizeof(signed short)2
sizeof(unsigned short)2
sizeof(int)4
sizeof(unsigned int)4
sizeof(long)4
sizeof(unsigned long)4
sizeof(long long)8
sizeof(char)1
sizeof(unsigned char)1
sizeof(wchar_t)2
sizeof(float)4
sizeof(double)8
sizeof(long double)8
sizeof(char*)8
C++数据类型总结的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- Python高手之路【二】python基本数据类型
一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...
- UniqueIdentifier 数据类型 和 GUID 生成函数
UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- SQL数据类型
1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符. varchar ...
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
随机推荐
- 那些著名或非著名的iOS面试题-前编
1.如何追踪app崩溃率,如何解决线上闪退 当iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上.crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈跟踪信息和 ...
- iOS XMPP(1)
关键词: 即时通讯技术 协议 了解xmpp的目的,工作原理 XMPP是基于XML的协议,传送的是XML格式流;IP地址:联网时电脑的唯一标识 Mac地址:不联网时电脑的唯一标志; OSI七层 ...
- JavaScript中常用函数(入门级)(持续更新)
本文中枫竹梦介绍一些JavaScript中入门级的常用函数,对于已经过了入门的童鞋可选择略过,都是一些非常实用的函数.如果发现什么问题,欢迎讨论. 问题列表 Q1: 设计一个函数repeatIt(st ...
- Objective-C ,ios,iphone开发基础:http网络编程
- (IBAction)loadData:(id)sender { NSURL* url = [NSURL URLWithString:@"http://162.105.65.251:808 ...
- shareplex的安装&&起停服务(添加新用户)
一.主机环境 主从类型 系统版本 数据库版本 主机地址 主机名 源数据库 Centos6.4 X86_64 11.2.0.4.0 192.168.3.230 dbshareplex 目的数据库 C ...
- C# 按指定数量从前面或者后面删除字符串
为了方便处理一些数据,自己写一个小程序来辅助工作,提高点效率. 不够删除怎么办呢!?一般程序员都会马上想到的是,用if判断…….这里其实不用if语句也可以轻松实现的! 有些程序员还可能用 try c ...
- this指针在不同情况下的指代
说不同情况了吧,首先要分有几种情况使用this,然后再说分别指代什么 1)如果是一般标签下函数调用,this指代全局对象,也就是window对象或者document对象 2)如果在嵌套函数中被嵌套的 ...
- jqueryeasyui中文乱码问题
下载的Demo中charset=utf-8,手动改成gb3212,问题解决.
- 第七篇、使用UIView的animateWithDuration方法制作简易动画
import UIKit class LolitaCircleButton: UIButton { private var color: UIColor private var imageURL: S ...
- 使用edgesForExtendedLayout遇到的麻烦
今天在写一个多界面之间来回返回的工程时,遇到的问题,建了两个类:FirstViewController 和 ButtonViewController. 由 FirstViewController 进入 ...