C++无穷的表示

在C++中,有时候会遇到无穷的情形。如何表示无穷?

首先,C++每种数据类型都有固定的位数,从而可以用数值位全1来表示最大数据。C++本身也定义了一些这样的常量来供使用。如最大无符号整型数据是UCHAR_MAX,十进制数为255,1十六进制数为0xff;最大double数据是DBL_MAX,等,无需包含头文件即可调用,在MSDN中可以查到。但是,最大数据只是最大,依然不是无穷。

在VS中,为了表示无穷,可以用一个常数除以0。注意这个常数必须是double类型的,int型数据除0编译器是会报错的。如果用一个正的非零的double类型数据/0,得到的将是1.#INF这样一个数据。这个数据具备正无穷的一切性质,而且比DBL_MAX要大。同样,用一个负的非零的double类型数据/0,得到的将是-1.#INF这样一个数据。这个数据同样具备负无穷的一切性质。注意不可以直接让double类型数据/0,

double s=1.0/0;

这样的写法都是错误的,编译器会报错。

如果这样写:

double a=1;

double s=a/0;

或者

double b=0;

double s=1/b;

或者

double a=1;

double b=0;

double s=a/b;

都是可以的,都可以求出s=1.#INF。

特别注意:不可以让分子分母同时为0。否则,求出的将是1.#IND,这个数据既不是正无穷,也不是负无穷,更不是0。

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Python 中无穷大可以用 float('inf') 表示,可以将其赋值给某个变量。例如: ``` x = float('inf') print(x) # 输出: inf ``` 同时,也可以用负无穷大表示,可以用 float('-inf') 表示。例如: ``` y = float('-inf') print(y) # 输出: -inf ``` 需要注意的是,无穷大和任何数进行运算,结果都是无穷大,例如: ``` a = 10 b = float('inf') c = a + b print(c) # 输出: inf ``` ### 回答2: 在Python中,我们可以通过将`float`类型的变量赋值为`float('inf')`来表示无穷大。例如: ``` x = float('inf') print(x) # 输出结果为:inf ``` 同样地,我们也可以将一个负无穷大赋值给变量,方法是将`float`类型的变量赋值为`float('-inf')`。例如: ``` y = float('-inf') print(y) # 输出结果为:-inf ``` 这种方式使得我们可以在程序中表示无穷大或负无穷大的值,并能进行相关的计算。例如,我们可以进行无穷大与有限数的加减乘除运算: ``` a = float('inf') b = 10 print(a + b) # 输出结果为:inf print(a - b) # 输出结果为:inf print(a * b) # 输出结果为:inf print(a / b) # 输出结果为:inf c = float('-inf') print(c + b) # 输出结果为:-inf print(c - b) # 输出结果为:-inf print(c * b) # 输出结果为:-inf print(c / b) # 输出结果为:-inf ``` 需要注意的是,无穷大无穷大进行运算或者包含无穷大的运算通常会得到`NaN`(不是一个数)的结果。因此,在进行包含无穷大的计算时需要注意对异常情况的处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值