C/C++编程笔记:C ++数据类型超出有效范围时,我们应该怎么办?

本文探讨了C/C++中不同数据类型(如char, bool, short, unsigned short)超出其有效范围时的行为。通过示例代码解释了超出范围后数值如何回绕,以及2的补码在表示负数时的角色。对于初学者,理解这些概念有助于避免潜在的程序错误。" 105007932,7639603,机器学习:线性模型详解,"['机器学习', '线性回归', '逻辑回归', '线性模型', '分类算法']
摘要由CSDN通过智能技术生成

首先,我们来考虑以下程序。

1)程序显示当我们越过'char'范围时会发生什么:

这段代码会打印“ a”直到它变成226吗?答案是不确定的循环,因为这里的“ a”被声明为字符,其有效范围是-128到+127。当“ a”通过a ++变为128时,超出范围,结果,从范围的负数开始的第一个数字(即-128)被分配给a。因此,满足条件“ a <= 225”,并且控制保留在循环内。

2)程序显示当我们越过'bool'范围时会发生什么:

该代码将无限期打印“ 1”,因为此处的“ a”被声明为“ bool”,有效范围是0到1。对于布尔变量,除0以外的任何其他都是1(或true)。当“ a”试图变为2(通过a ++)时,会将1分配给“ a”。满足条件a <= 5,并且控制保留在循环中。

3)程序显示当我们跨过'short'的范围时会发生什么:

注意short是short int的简称。它们是同义词。short,short int,signed short和signed short int都是相同的数据类型。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值