C++ Primer Plus 学习日记1

第3章 处理数据

C++ climits 中的符号常量

C++ climits 中的符号常量
符号常量表示

 CHAR_BIT

char 的位数   

8

CHAR_MAX

char 的最大值   

127

CHAR_MIN

char 的最小值   

-128

SCHAR_MAX

signed char 的最大值   

127

SCHAR_MIN

signed char 的最小值   

-128

UCHAR_MAX

unsigned char 的最大值   

255

SHRT_MAX

short 的最大值   

32767

SHRT_MIN

short 的最小值   

-32768

USHRT_MAX

unsigned short 的最大值   

65535

INT_MAX

int 的最大值   

2147483647

INT_MIN

int 的最小值   

-2147483648

UNIT_MAX

unsigned int 的最大值   

4294967295

LONG_MAX

long 的最大值   

2147483647

LONG_MIN

long 的最小值   

-2147483648

LONG_MAX

unsigned long 的最大值  

4294967295

LLONG_MAX

long long 的最大值  

9223372036854775807

LLONG_MAXlong long 的最小值  

-9223372036854775808

ULLONG_MAXunsigned long 的最大值 

18446744073709551615

 

整数的取值限制

将一个short(sam)变量和一个unsigned short(sue)变量分别设置为最大的short值(32767)。然后将这些变量的值都加1。这对于sue来说没有什么问题,因为新值仍比无符号整数的最大值小得多;但sam的值从32767变成了-32768。同样,对于sam,将其设置为0并减去1,也不会有问题;但对无符号变量sue,将其设置为0并减去1后,它变成了65535.

由上文可得出,这些整型变量的值如果超越了限制,其值将为范围另一段的取值(详见下图)

使用大括号初始化器进行数据初始化

例:int emus{7}; // set emus to 5

       int rheas = {12}; // set rheas to 12

   ※ int rocs{}; // set rocs to 0 (空值默认赋0)

 

利用cout的特性输出八进制和十六进制数:

除了endl控制符,我们还可以使用头文件iostream中的dec、hex、oct控制符用于指示cout以十进制、十六进制、八进制格式显示整数。

// hexoct2.cpp -- display values in hex and octal
#include <iostream>
using namespace std;
int main()
{
    using namespace std;
    int chest = 42;
    int waist = 42; 
    int inseam = 42;
 
    cout << "Monsieur cuts a striking figure!"  << endl;
    cout << "chest = " << chest << " (decimal for 42)" << endl;
    cout << hex;      // manipulator for changing number base
    cout << "waist = " << waist << " (hexadecimal for 42)" << endl;
    cout << oct;      // manipulator for changing number base
    cout << "inseam = " << inseam << " (octal for 42)" << endl;
    return 0; 
}

输出结果:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值