一:数值类型的大杂烩

(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++类型所占的字节和表示范围的更多相关文章

  1. C语言中的各种类型所占的字节大小

    一)64位系统和32位有什么区别?  1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能 ...

  2. 一个int类型究竟占多少个字节

    一个int占多少个字节? 这个问题我们往往得到的答案是4. 可是int究竟占多少个字节,却跟你的机器环境有关. As you can see, the typical data type sizes ...

  3. php中int类型在不同平台所占不同字节数理解

    1.在不同平台上占字节数与最大值 在32位平台上int占4个字节,在64位平台上int占8个字节,PHP_INT_SIZE 在32位平台上int的最大值2^31 - 1,在64位平台上int最大值2^ ...

  4. C语言中几种类型所占字节数

    其实C标准并没有具体给出规定哪个基本类型应该是多少个字节数,而且这个也与OS.编译器有关,比如同样是在32位操作系统,VC++的编译器下int类型为4个字节,而在tuborC下则是2个字节. 下面给出 ...

  5. C#/Java/C/C++基本类型所占大小及表示范围

    C/C++的数据类型: 一,整型 Turbo C:   [signed] int 2Byte//有符号数,-32768~32767   unsigned int 2Byte //无符号数,只能表示整数 ...

  6. 在C语言中基本数据类型所占的字节数

    基本数据类型所占的字节数其实跟C语言本身没有太大的关系,它取决于编译器的位数,下面这张表说明了不同编译器下基本数据类型的长度: 32位编译器中各基本类型所占字节数: 注:对于32位的编译器,指针变量的 ...

  7. Java中boolean类型到底占用多少字节

    虽然 Java 虚拟机定义了 boolean 这种数据类型,但是只对它提供了非常有限的支持.在 Java 虚拟机中没有任何供 boolean 值专用的字节码指令,在 Java 语言之中涉及到 bool ...

  8. Java的八种基本类型:(按字节来分)

    Java的八种基本类型:(按字节来分) boolean   布尔型   1个字节 8bit(8位) byte     字节类型   1个字节 char     字符类型   2个字节 short    ...

  9. ORACLE中一个字符占多少字节?

    问题描述 或许你会说一个中文字符占2个字节,这是一定的?如何计算一个字符串的字节数? 解决方案 在oracle中一个字符特别是中文占几个字节是不同的. 比如我创立一个表create table tes ...

随机推荐

  1. min_free_kbytes是内存最安全值的阈值,然后这个值是怎么影响到系统内存回收的呢?

    min_free_kbytes 内存域水印值:min_free_kbytes 当不设置的时候:sqrt(16M)=4k 4k*4 = 16k 设置内存水印值的函数是: 6792 /* 6793 * I ...

  2. [洛谷P4346][CERC2015]ASCII Addition

    题目大意:给一个像素的$a+b$,每个数字为$7\times5$的像素,每两个数字之间有间隔 题解:乱搞读入 卡点:无 C++ Code: #include <cstdio> #inclu ...

  3. [洛谷P3807]【模板】卢卡斯定理

    题目大意:给你$n,m,p(p \in \rm prime)$,求出$C_{n + m}^m\bmod p(可能p\leqslant n,m)$ 题解:卢卡斯$Lucas$定理,$C_B^A\bmod ...

  4. 【CZY选讲·Yjq的棺材】

    题目描述 Yjq想要将一个长为宽为的矩形棺材(棺材表面绝对光滑,所以棺材可以任意的滑动)拖过一个L型墓道. 如图所示,L型墓道两个走廊的宽度分别是和,呈90°,并且走廊的长度远大于. 现在Hja ...

  5. bzoj2957:楼房重建

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=2957 sol  :首先考虑转化问题,即给你一个斜率序列,让你动态维护单调栈 考虑线段树,令ge ...

  6. JavaScript 代码性能优化总结

    本文转自:http://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=400360237&idx=2&sn=eb00241cb3b ...

  7. spring in action 学习笔记六:bean在不同情况下的默认id号或者将名字

    bean如果不知名id是什么它一般都有一个id或者讲名字. 第一种情况:组件扫描的情况:默认的id号或者bean的name是类名的首字母小写. 代码如下: package com.qls.beanli ...

  8. Linux命令之type,whatis,whereis,which,locate,find

    第一个:type--查询一个命令的类型 -查询一个命令为内部或者外部命令的命令: -linux的众多命令中,有内部命令和外部命令,这时可以用type命令来查询一个命令到底是属于内部命令还是属于外部命令 ...

  9. SpringMVC+MyBatis+Shiro 配置文件详解

    1.web.xml文件的配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...

  10. [ CodeVS冲杯之路 ] P1294

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1294/ 随手一打就是这么漂亮的全排列,想当年我初一还是初二的时候,调了1个多小时才写出来(蒟蒻一枚) 直接DFS每次枚 ...