c++类型所占的字节和表示范围
一:数值类型的大杂烩
(1)short、int 和 long 类型都表示整型值。存储空间的大小不同
一般, short 类型为半个机器字长,int 类型为一个机器字长,而 long 类型为一个或两个机
器字长(在 32 位机器中 int 类型和 long 类型通常字长是同样的)。
(2)常量的定义以及表示范围:
unsigned int 0~4294967295 就是2^32-1
int -2147483648~2147483647 就是2^(-31) ~ 2^31-1
unsigned long 0~4294967295 就是2^32-1
long -2147483648~2147483647 就是2^(-31) ~ 2^31-1
long long的最大值:9223372036854775807 就是2^63-1
long long的最小值:-9223372036854775808 就是2^(-63)
unsigned long long的最大值:18446744073709551615 就是2^64-1
__int64的最大值:9223372036854775807 就是2^63-1
__int64的最小值:-9223372036854775808 就是2^(-63)
unsigned __int64的最大值:18446744073709551615 就是2^64-1
(3)c 和 c++的类型所占的字节数
32位编译器
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) int * 也是 4字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器
char :1个字节
char*(即指针变量): 8个字节 int * 也是 8字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节(32位和64位变得就是long,其它的均没有变化啊)
long long: 8个字节
unsigned long: 8个字节
二:常值常数类型的 ----- u / U 和 l/L 以及ul/UL的几点说明
(1)使用条件
1. 数值常数有:整型常数、浮点常数;
2. 仅仅有数值常数才有后缀说明;
3. 数值常数后缀不区分字母大写和小写。
(2)整型常数的表示形式有:
十进制形式、以0开头的八进制形式、以0x开头的十六进制形式,无二进制形式。整型常数默认是signed int的。
对整型常数进行类型转换的后缀仅仅有:u或U(unsigned)、l或L(long)、u/U与l/L的组合(如:ul、lu、Lu等)。例:100u; -123u; 0x123l;
(3)浮点常数的表示形式有:
科学计数形式和小数点形式。浮点常数默认是double的。
对浮点常数进行类型转换的后缀仅仅有:f或F(单精度浮点数)、l或L(长双精度浮点数)。
(注:因浮点型常数总是有符号的,故没有u或U后
缀)。例:1.23e5f; 1.23l; -123.45f;
(4)整型常量的类型是下列对应表中第一个能表示其值的类型:
无后缀的十进制整数常量:int,long int,long long int
以字母u或U为后缀的十进制整型常量:unsigned int,unsigned long int,unsigned long long int
以字母l或L为后缀的十进制整型常量:long int,long long int
同一时候以字母u或U和字母l或L为后缀的十进制整型常量:unsigned long int。unsigned long long int
以字母ll或LL为后缀的十进制整型常量:long long int
同一时候以字母u或U和字母ll或LL为后缀的十进制整型常量:unsigned long long int
无后缀的八进制或十六进制常量:int。unsigned int,long int,unsigned long int,long long int,unsigned long long int
以字母u或U为后缀的八进制或十六进制常量:unsigned int,unsigned long int,unsigned long long int
以字母l或L为后缀的八进制或十六进制常量:long int。unsigned long int。long long int,unsigned long long int
同一时候以字母u或U和字母l或L为后缀的八进制或十六进制常量:unsigned long int,unsigned long long int
以字母ll或LL为后缀的八进制或十六进制常量:long long int。unsigned long long int
同一时候以字母u或U和字母ll或LL为后缀的八进制或十六进制常量:unsigned long long int
c++类型所占的字节和表示范围的更多相关文章
- C语言中的各种类型所占的字节大小
一)64位系统和32位有什么区别? 1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能 ...
- 一个int类型究竟占多少个字节
一个int占多少个字节? 这个问题我们往往得到的答案是4. 可是int究竟占多少个字节,却跟你的机器环境有关. As you can see, the typical data type sizes ...
- php中int类型在不同平台所占不同字节数理解
1.在不同平台上占字节数与最大值 在32位平台上int占4个字节,在64位平台上int占8个字节,PHP_INT_SIZE 在32位平台上int的最大值2^31 - 1,在64位平台上int最大值2^ ...
- C语言中几种类型所占字节数
其实C标准并没有具体给出规定哪个基本类型应该是多少个字节数,而且这个也与OS.编译器有关,比如同样是在32位操作系统,VC++的编译器下int类型为4个字节,而在tuborC下则是2个字节. 下面给出 ...
- C#/Java/C/C++基本类型所占大小及表示范围
C/C++的数据类型: 一,整型 Turbo C: [signed] int 2Byte//有符号数,-32768~32767 unsigned int 2Byte //无符号数,只能表示整数 ...
- 在C语言中基本数据类型所占的字节数
基本数据类型所占的字节数其实跟C语言本身没有太大的关系,它取决于编译器的位数,下面这张表说明了不同编译器下基本数据类型的长度: 32位编译器中各基本类型所占字节数: 注:对于32位的编译器,指针变量的 ...
- Java中boolean类型到底占用多少字节
虽然 Java 虚拟机定义了 boolean 这种数据类型,但是只对它提供了非常有限的支持.在 Java 虚拟机中没有任何供 boolean 值专用的字节码指令,在 Java 语言之中涉及到 bool ...
- Java的八种基本类型:(按字节来分)
Java的八种基本类型:(按字节来分) boolean 布尔型 1个字节 8bit(8位) byte 字节类型 1个字节 char 字符类型 2个字节 short ...
- ORACLE中一个字符占多少字节?
问题描述 或许你会说一个中文字符占2个字节,这是一定的?如何计算一个字符串的字节数? 解决方案 在oracle中一个字符特别是中文占几个字节是不同的. 比如我创立一个表create table tes ...
随机推荐
- 【Python】- pytharm 中import时无法识别自己写的程序
右键点击自己的工作空间,找下面的Mark Directory as(将目录标记为) 选择Source Root,就可以解决上面的问题了,如图
- Codeforces Round #336 (Div. 2) A
A. Saitama Destroys Hotel time limit per test 1 second memory limit per test 256 megabytes input sta ...
- mysql数据定期备份删除
1.这里只写备份mysql的数据库的方法,全备份,包括定时删除. 准备工作,弄一个文件夹存数据库备份数据 第一步:编写shell 脚本,命名为shell.sh #备份数据库 backupdir=/we ...
- RHN Classic and Red Hat Subscription Management
What's the difference between RHN Classic and Red Hat Subscription Management? Introduction With the ...
- iOS-android-windowsphone等移动终端平台开发流程图
到了公司后,半个月时间就是在熟悉下面这张图里的流程, 项目流程图: 下面是我对这张图的一些理解:
- zero(NOIP模拟赛 Round 4)
题目描述 假设x=N!,那么x的末尾有多少个零呢? 输入 一行,一个整数N. 输出 输出只有一个整数,表示x末尾零的个数. 这道题目,我们看一看数据范围, 10^1000肯定是高精啦! 然后我们再想一 ...
- 无线网络发射器选址 (NOIP2014)(真·纯模拟)
原题传送门 好吧,如果说D1T1是纯模拟大水题 D2T1就是纯模拟略水题. 这道题首先我们要看一看数据范围.. 0<=n,m<=128 送分也不带这么送的吧.. 二维前缀和,前缀和,二次循 ...
- 设置JPA的Query返回Map对象
说明正常执行jpa查询的时候需要传一个对应实体进行映射返回的数据,这样有时候如果一个sql是复合sql关联很多表,就需要新建实体有点麻烦,通过下面方式就能将返回结果映射成map.这样就能随意获取返回结 ...
- js比对一维数组全等的算法
//辅助方法1,返回某个值在数组中的位置 Array.prototype.indexOf = function (e) { for (var i = 0, l = this.length; i < ...
- Android 轻松实现后台搭建+APP版本更新
http://blog.csdn.net/u012422829/article/details/46355515 (本文讲解了在Android中实现APP版本更新,文末附有源码.) 看完本文,您可以学 ...