[C++学习] 整型常量

计算机中进制输出

C++中二进制以0b开头,如0b00001011(值为11);

八进制以0开头,如0013(值为11);

十六进制以0x开头,如0x001a(值为26);

注意:

  C++中cout是默认将数据以十进制输出,如果要将数据以八进制,十六进制输出应在前面加oct或hex;

  如:cout<<oct<<0123<<endl;   //输出123

    cout<<hex<<0x1e<<endl;  //输出1e

  二进制的输入输出也不允许,除非加上bitset<8>;如:

  cout<<0b000010011<<endl;   //输出十进制11;

  cout<<bitset<8>(0b00001011)<<endl;   //输出二进制00001011;(需包含头文件<bitset>)

 

计算机数据存储

负数以补码方式存储;

非负数以原码方式存储;

八进制、十六进制以原码方式存储。

计算机数据取出

无符号取值,输出内存的原样数据;

有符号取值,系统去查看最高位,若是0则原样数据输出,若是1将数据求补码(得到源码)输出。

    short num = 0x8080;  
    cout<<bitset<16> (num)<<endl;  //原码存储
    cout << num << endl;    //有符号且首位为1,直接以补码方式输出。
    cout<<0x8080;        //十六进制原码输出

 

posted @ 2023-06-01 10:28  Canyooo  阅读(71)  评论(0)    收藏  举报