C++学习笔记二:变量与数据类型(整型)

发布时间 2023-12-09 19:04:43作者: Sternenhimmel1997

1.int(整型数据):

1.1 进制的表示:十进制,八进制,16进制,二进制

   int number1 = 15; // Decimal
   int number2 = 017; // Octal
   int number3 = 0x0F; // Hexadecimal
   int number4 = 0b00001111; // Binary

上面几种表示方式都表示15这个数字,用cout输出得到相同的结果

 

1.2 声明和初始化:int类型占据4个字节(32位)

声明并且初始化一个整数类型可以使用大括号,括号和=。

利用大括号{}进行声明和初始化:

int elephant_count; //Variable may contain random garbage value . WARNING
int lion_count{};//Initializes to zero
int dog_count {10}; //Initializes to 10
int domesticated_animals { dog_count + cat_count };
int narrowing_conversion {2.9};//Compiler error

利用括号()进行声明和初始化:

int test();  //error
int orange_count(10); int fruit_count (apple_count + orange_count); int narrowing_conversion_functional (2.9); //Information lost.

利用=进行初始化:

int truck_count = 7;
int vehicle_count = bike_count +truck_count;
int narrowing_conversion_assignment = 2.9; //information lost

通过对比可以发现,{}来初始化整型数据是最安全的,对于没有赋初值的整型数据会自动初始化为0,对于赋值为浮点数的数据类型会报编译器错误。

 

1.3 long/short, signed/unsigned 标识符

unsigned int range  0~2^n-1  4 bytes

signed int range  -2^(n-1)~2^(n-1)-1  4 bytes

//unsigned int value4{-5}; // Compiler error.    

// short 关键字占据2 Bytes
    short short_var {-32768} ; //  2 Bytes 
    short int short_int {455} ; // 
    signed short signed_short {122}; //
    signed short int signed_short_int {-456}; // 
    unsigned short int unsigned_short_int {456};
    
// 没有short或者long关键字都占据4 Bytes
    int int_var {55} ; // 4 bytes
    signed signed_var {66};//
    signed int signed_int {77};//
    unsigned int unsigned_int{77};

// long关键字一般占据4 Bytes
    long long_var {88}; // 4 OR 8 Bytes
    long int long_int {33};
    signed long signed_long {44};
    signed long int signed_long_int {44};
    unsigned long int unsigned_long_int{44};

// long long关键字占据8 Bytes
    long long long_long {888};// 8 Bytes
    long long int long_long_int {999};
    signed long long signed_long_long {444};
    signed long long int signed_long_long_int{1234};
    unsigned long long int unsigned_long_long_int{1234};