今天让我们来看一下C++11新特性新增的数据类型吧,我们在编程经常会使用到类型来给变量定义,像int、double、char等等。但是你是否知道这些类型占用的字节数是多少吗?

今天小编带着你一起来看一下各种类型和C++11新特性新增的类型吧。

在C++标准中所有的整型数据类型,在C++11 标准中,基于整数大小的考虑,标准中还明确限定了各个数据类型最少占用的位数。下表即为整型类型的详细介绍:

short

short int

(有符号短整型)

至少 16

位(2 个字节)

signed short
signed short int
unsigned short

unsigned short int

(无符号短整型)

unsigned short int
int

int

(有符号整型)

至少 16 位

(2 个字节)

signed
signed int
unsigned

unsigned int

(无符号整型)

unsigned int
long

long int

(有符号长整型)

至少 32 位

(4 个字节)

long int
signed long
signed long int
unsigned long

unsigned long int

(无符号长整型)

unsigned long int
long long(C++11)

long long int

(有符号超长整型)

至少 64 位

(8 个字节)

long long int(C++11)
signed long long(C++11)
signed long long int(C++11)
unsigned long long(C++11)

unsigned long long int

(无符号超长整型)

unsigned long long int(C++11)

C++11 标准规定,每种整数类型必须同时具备有符号(signed)和无符号(unsigned)两种类型,且每种具体的有符号整形和无符号整形所占用的存储空间(也就是位数)必须相同。注意,C++11 标准中只限定了每种类型最少占用多少存储空间,不同的平台可以占用不同的存储空间。

上面表格中的long long类型是C++11新增的类型,用于定义超长整型变量。在定义的时候,跟long定义变量一样,需要加上“L”或者“l”后缀,long long型需要加上“LL”或者“ll”标识符。例如:

int serven_1 = 10;        // 不添加任何后缀的时候,默认为4个字节的整型变量
int serven_2 = 10l;       // 加上后缀l后表示为long长整型变量
int serven_3 = 10ul;      // 加上后缀ul后表示为unsigned long无符号长整型变量
int serven_4 = 10ll;      // 加上后缀ll后表示为long long超长整型变量
int serven_5 = 10ull;     // 加上后缀ull后表示为unsigned long long 超长无符号整型变量

对于任意一种数据类型,读者可能更关心的是此类型的取值范围。对于 long long 类型来说,如果想了解当前平台上 long long 整形的取值范围,可以使用<climits>头文件中与 long long 整形相关的 3 个宏,分别为 LLONG_MIN、LLONG_MAX 和 ULLONG_MIN:

  1. LLONG_MIN:代表当前平台上最小的 long long 类型整数;

  2. LLONG_MAX:代表当前平台上最大的 long long 类型整数;

  3. ULLONG_MIN:代表当前平台上最大的 unsigned long long 类型整数(无符号超长整型的最小值为 0);

#include <QCoreApplication>
#include<iostream>
#include<climits>
using namespace std;
​
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);
​cout<<"The max value of long is:"<<LONG_MAX<<endl;cout<<"The min value of long is:"<<LONG_MIN<<endl;cout<<"The max value of unsigned long is:"<<ULONG_MAX<<endl<<endl;
​cout<<"The max value of long long is:"<<LLONG_MAX<<endl;cout<<"The min value of long long is:"<<LLONG_MIN<<endl;cout<<"The max value of unsigned long long is:"<<ULLONG_MAX<<endl;return a.exec();
}

运行结果:

LLONG_MAX的16进制为:0x8000000000000000

LLONG_MIN的16进制为: 0x7FFFFFFFFFFFFFFF

ULLONG_MAX的16进制为:0xFFFFFFFFFFFFFFFF

欢迎关注微信公众号 “三贝勒文子”, 每天学习C++

C++11新特性之long long类型相关推荐

  1. C++11新特性之新类型与初始化

    C++11新特性之新类型与初始化 snoone | 2016-06-23 11:57    浏览量(148)    评论(0)   推荐(0) 数据 这是C++11新特性介绍的第一部分,比较简单易懂, ...

  2. C++11新特性之decltype类型推导

    ​ 目录 一.decltype关键字 二.decltype的推导规则 1.表达式为单独变量 2.表达式为函数调用 3.表达式为左值,或者被()包围 三. decltype的应用 在前面一章,小编已经对 ...

  3. IntelliJ IDEA 使用 Java 11新特性以及Java 8 以来的Java 11新特性介绍

    文章目录 Java 11 安装 IDEA 设置 特性1:lambda表达式中允许使用var 特性2: String新增REPEAT 方法,方便拷贝字符串 特性3: 文件读写更方便:readString ...

  4. Java 11新特性解读

    概述 美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,将支持到2026年,可以使用下面的 ...

  5. C++11新特性decltype

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105042574 C ...

  6. 深入浅出之C++11新特性

    1. auto类型赋予新含义 1.1 auto类型定义 在之前的 C++ 版本中,auto 关键字用来指明变量的存储类型,它和 static 关键字是相对的.auto 表示变量是自动存储的,这也是编译 ...

  7. 《深入理解C++11:C++ 11新特性解析与应用》——导读

    前 言 为什么要写这本书 相比其他语言的频繁更新,C++语言标准已经有十多年没有真正更新过了.而上一次标准制定,正是面向对象概念开始盛行的时候.较之基于过程的编程语言,基于面向对象.泛型编程等概念的C ...

  8. C++11 新特性简介

    1.auto auto是旧关键字,在C++11之前,auto用来声明自动变量,表明变量存储在栈,很少使用.在C++11中被赋予了新的含义和作用,用于类型推断. auto关键字主要有两种用途:一是在变量 ...

  9. java9特性_96.java基础10(java9/10/11新特性)

    126.java 9 新特性1(模块化功能): 1.java模块化 2.java 交互式环境jshell 3.泛型 package com.atguigu.java; import org.junit ...

最新文章

  1. python account_GitHub - Python3WebSpider/AccountPool: Account Pool
  2. WPF ---- ​xmal 解析器没有办法解析类的TypeConverter
  3. [设计模式]依赖倒转原则
  4. Java设计模式、框架、架构、平台之间的关系
  5. Java render用法_SpringMVC ModelAndView的用法使用详解
  6. 裕-C#过滤DataTable中的空数据和重复数据
  7. wxpython窗口跳转_WxPython-用按钮打开一个新窗口
  8. ZOJ1151 Word Reversal(没法提交)
  9. 中国移动手机支付开放平台网站服务协议
  10. 1.2 Illustrator多文档的几种排列方式
  11. Python爬虫系列之全国邮编区号爬取
  12. 电脑重装系统后序列号怎么查
  13. upc 个人训练赛第二场:高精度计算
  14. PCDATA和CDATA区别
  15. Android音乐播放器开发(2)—登录
  16. uva 12627 Erratic Expansion
  17. 7. 用JDK5.0的JConsole来连接MBean
  18. 西门子变频器SINAMICS S120电源模块分享
  19. 在线支付之易宝支付的使用方法
  20. 微信小程序wx:for中的item什么意思以及wx:for-item的意思

热门文章

  1. 位图文件(BMP)格式分析以及程序实现
  2. C# windows窗口应用程序切换主界面的显示内容
  3. 正则表达式匹配行首和行尾
  4. shell 脚本与常用的bash命令
  5. 【论文阅读记录】孪生网络(Siamese network)
  6. [React网络整理]React之表单组件的学习笔记
  7. 2、深度剖析ConcurrentHashMap
  8. python3d旋转相册_3D立体相册,一个可旋转的立体相册
  9. 10 计算并联电阻的阻值
  10. 软件命名规范(版本号)