zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    snmp简介
    PKI简介
    小程序收藏
    mysql数据库中同一DB内倒表指令
    核心层+汇聚层+接入层
    eng
    rmon简介
    几个常用的JavaScript字符串处理函数
    C# 特性(Attribute)学习 关于 .net中[]的解释
    C#操作Excel文件(读取Excel,写入Excel)
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6789075.html
Copyright © 2011-2022 走看看