一:数值类型的大杂烩

(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. Hexo安装和配置

    Hexo安装和配置   1. Git安装和设置 github brew install git #Mac电脑使用brew安装 sudo apt-get install git #Ubuntu系统使用这 ...

  2. 第十一篇:MySQL基础

    本篇内容 MySQL概述 MySQL安装 MySQL库增.删.改.查 MySQL表增.删.改.查 MySQL表记录增.删.改.查 一. MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典 M ...

  3. 【bzoj4177】Mike的农场 网络流最小割

    题目描述 Mike有一个农场,这个农场n个牲畜围栏,现在他想在每个牲畜围栏中养一只动物,每只动物可以是牛或羊,并且每个牲畜围栏中的饲养条件都不同,其中第i个牲畜围栏中的动物长大后,每只牛可以卖a[i] ...

  4. Java设计模式中适配器模式的实现方法

    在Java开发中,我们常常需要用到Java接口型模式中的适配器模式,那适配器设计模式到底是什么模式呢? 适配器模式(Adapter)就是把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹 ...

  5. [AGC011E] Increasing Numbers [数学]

    题面 传送门 思路 首先,我们观察一下上升数的性质 可以发现,它一定可以表示为最多9个全是1的数字的和 那么我们设$N$可以被表示成$k$个上升数的和,同时我们设$p_i=\underbrace{11 ...

  6. 262144 (game)

    262144 (game) 题目描述 Bessie likes downloading games to play on her cell phone, even though she does fi ...

  7. 转:Android 的进程与线程总结

    当一个Android应用程序组件启动时候,如果此时这个程序的其他组件没有正在运行,那么系统会为这个程序 以单一线程的形式启动一个新的Linux 进程. 默认情况下,同一应用程序下的所有组件都运行再相同 ...

  8. 阿里云服务器ubuntu安装java运行环境

    服务器 阿里云服务器ubuntu安装java运行环境 转:http://www.codingyun.com/article/45.html 今天来给大家介绍一下在阿里云ubuntu服务器下安装java ...

  9. 转 android Listview,gridview局部刷新,部分刷新 (仿QQ动态评论局部刷新)

    转自:http://blog.csdn.net/jdsjlzx/article/details/45582719 众所周知Listview和Gridview的刷新界面的方式是调用adapter.not ...

  10. js querySelector与getElementById

    querySelector不能取到id以数字开头的元素,据说是遵循css规范.而document.getElementById是可以的.