表 1 整型数据类型
数据类型 字节大小 数值范围
short int (短整型) 2 字节 -32 768 〜+32 767
unsigned short int
(无符号短整型)
2 字节 0 〜+65 535
int (整型) 4 字节 -2 147 483 648 〜+2 147 483 647
unsigned int (无符号整型) 4 字节 0 〜4 294 967 295
long int (长整型) 4 字节 -2 147 483 648 〜+2 147 483 647
unsigned long int
(无符号长整型)
4 字节 0 〜4 294 967 295
long long int (超长整型) 8字节 -9 223 372 036 854 775 808~9 223 372 036 854 775 807
unsigned long long int
(无符号超长整型)
8字节 048 446 744 073 709 551 615

注意,超长整型和无符号超长整型是在 C++11 中引入的。

1、整形:表示整数、字符和布尔值的算数类型的合称;

2、字符类型有两种:char和wchar_t,char类型通常是单个字节,wchar_t类型用于扩展字符集,比如汉字和日语,这些字符集不能用单个char表示;

3、short、int、long类型都表示整形,一般来说(32位机器),short占16位,两字节;int占32位(根据系统而定,32位机下为4个字节),四个字节;long在32位机器上和int一样,也是四个字节(所以感觉C++ Primer中这块的概念有误,1字=2字节 才对)

4、默认情况下,int、short、long都是带符号的,即signed;

5、和其他整形不同,char有三种表示方式:普通char、unsigned char、signed char。虽然有三种不同的类型,但是只有两种表示方式。可以使用unsigned char或者signed cahr表示char类型,具体使用哪种方式由编译器而定。

6、整型的赋值:当一个超出范围的值被赋给一个变量时,会怎么赋值呢?答曰:由编译器来决定,但一般都是取该值对该类型取值数目求模后的值(但不能保证所有编译器都会这样处理),e.g. 试图将336存储到8位的unsigned char中,实际赋值为80,因为80是336对256求模后的值,同理,如果把-1赋给8位的unsigned char,那么结果是255,因为255是-1对256求模后的值;

7、浮点数float、double、long double分别表示单精度、双精度、扩展精度浮点数,一般float为32位,double为64位,long使用96位或者128位。类型的取值范围决定了浮点数所含的有效数字位数,对于实际程序来说,float类型只能保证6位的有效数字,而double类型至少可以保证10位的有效数字。

8、C++的标准并没有规定每种类型占多少位,只是说 “sizeof(long)>=sizeof(int)>=sizeof(short)”,所以具体的字节数都是根据编译器来确定的。
————————————————

C++ short/int/long/long long 等数据类型大小的更多相关文章

  1. [置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long

    这些数据类型的sizeof具体长度依赖于编译器和操作系统(32-bit or 64-bit) 1: 首先,参见c99标准 标准中没有定义这些数据类型的长度,而是定义了这些数据类型能表达的大小范围的最小 ...

  2. boolean和Boolean, char和Character , byte和Byte, short和Short, int和Integer , long和Long , float和Float, double和Double的区别 , String和StringBuffer的区别

    Java提供两种不同的类型:引用类型和原始类型(内置类型).Int是java的原始数据类型,Integer是java为int提供的封装类. Java为每个原始数据类型提供了封装类. 其中原始数据类型封 ...

  3. Linux基本数据类型大小——int,char,long int,long long int

    转自:http://paddy-w.iteye.com/blog/1403217 在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h ...

  4. 谈谈Java中整数类型(short int long)的存储方式

    在java中的整数类型有四种,分别是byte short in long,本文重点给大家介绍java中的整数类型(short int long),由于byte只是一个字节0或1,在此就不多说了,对ja ...

  5. char,short ,int ,long,long long,unsigned long long数据范围

    from:http://www.cnblogs.com/A123456A/archive/2013/01/25/2876634.html char,short ,int ,long,long long ...

  6. java中整数类型(short int long)的存储方式

    在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解. 其他的三种类型如下: 1.基本类型:short 二进制位数:16包装 ...

  7. C++中的int和short int

    #include <iostream> #include <string> #include <cstring> //strcpy #include <cst ...

  8. C语言short int

    因为C语言中short int占2个字节,有16个二进制位,共可表示2^16种状态.因为它用来表示有符号数,而0也要占用一个状态.所以,16位的原码可以表示的数是-32767~+32767,它的0可以 ...

  9. 【C语言】测试系统各数据类型大小代码

    测试各系统不同数据类型大小代码 一.相关基础知识 不同环境下各数据类型大小可能不相等,(某些环境下,类型带下可以选择)故测了就知道! 二.具体内容 三.分析总结 四.实例测试 #include< ...

随机推荐

  1. CLion 2020.1.2 激活

    1 下载 官网. 2 运行 解压安装并运行,选择Evaluate. 3 激活 来这里下载jar补丁,拖进去即可.

  2. [Vue warn]: Unknown custom element: <terminal-process> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

    Vue组件注册报错问题 import 不要加{},排查出如果页面引用单个组件的时候不要加上{}中括号,引入多个组件时才能派上用场,中括号去除问题即可解决.

  3. 一次错误使用 go-cache 导致出现的线上问题

    话说一个美滋滋的上午, 突然就出现大量报警, 接口大量请求都响应超时了. 排查过程 查看服务器的监控系统, CPU, 内存, 负载等指标正常 排查日志, 日志能够响应的结果也正常. request.l ...

  4. 【SpringBoot】Spring Boot

    Spring Boot是由Pribotal团队提供,设计用来简化新Spring应用的初始搭建和开发过程的开源框架. 随着Spring体系越来越庞大,各种配置也是越来越复杂,Spring Boot就是解 ...

  5. Pytorch系列:(四)IO操作

    首先注意pytorch中模型保存有两种格式,pth和pkl,其中,pth是pytorch默认格式,pkl还支持pickle库,不过一般如果没有特殊需求的时候,推荐使用默认pth格式保存 pytorch ...

  6. 编译Android内核 For nexus 5 以及绕过Android的反调试

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54880488 前面的博客中已经记录了Nexus 5手机的Android 4.4.4 ...

  7. 如何让c语言使用结构体近似模拟c++中的类

    如今统治市场的主流编程语言,如c++,java,大都是面向对象类型的编程语言. 而众所周知,c语言是面向过程的编程语言,但是它拥有一个类似于类的结构,叫做结构体,主要的区别在于结构体无法定义函数. 因 ...

  8. android 资料

    https://xfans.gitbooks.io/android-book/content/issue-39/Android%20dex%E5%88%86%E5%8C%85%E5%AF%BC%E8% ...

  9. XCTF-unfinish

    unfinish 之前做过这个题,这是之前写的WP:链接

  10. yum makecache: error: argument timer: invalid choice: ‘fast’ (choose from ‘timer’)

    这是因为版本问题,centos8没有该参数,解决办法为:去掉fast参数,就可以了 sudo yum makecache