一:数值类型的大杂烩

(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

最新文章

  1. with as的用法
  2. HTML DOM Document 对象
  3. 【BZOJ-3122】随机数生成器 BSGS
  4. mysql之使用xtrabackup进行物理备份、恢复、在线克隆从库、在线重做主从
  5. WCF入门教程(vs2010)
  6. 【学习笔记】【C语言】选择结构-switch
  7. wireshark: there are no interfaces on which a capture can be done
  8. bzoj 1798 [Ahoi2009]Seq 维护序列seq(线段树+传标)
  9. JsonKit 解析
  10. css案例学习之relative与absolute
  11. HTTP1.1协议中文版-RFC2616
  12. chmod u+s(转)
  13. n的阶乘
  14. C/C++ 知识点---sizeof使用规则及陷阱分析(网摘)
  15. java实现简单的solr查询
  16. css 修改svg图标的颜色(不修改fill)
  17. 0723掰棒子记录--vue的数据渲染
  18. yarn 切换 设置 镜像 源
  19. Codeforces Round #548 (Div. 2) C dp or 排列组合
  20. JS-排序详解-快速排序

热门文章

  1. Error: could not find java.dll 解决办法
  2. ccpc 网络赛 hdu 6155
  3. 《c程序设计语言》读书笔记-5.5-指针实现strncpy,strncat,strncmp
  4. linux安装图像界面
  5. C++虚函数表解析(基础篇)
  6. windows实时监测热插拔设备的变化(转)
  7. SpringMvc+Spring+Mybatis+Maven整合
  8. MPchartAnadroid的对比柱状图
  9. 关于yii2 的db log 日志 错误处理errorHandler
  10. 关于delphi编程的网络文件夹复制的代码精要