一、定义
直接做大概率会报错,C
有宏,C++
有 numeric_limits
,Python
可以直接 float('inf')
或引入 math
或 cmath
库。
inf
1.0 / 0.0
的值。
-inf
-1.0 / 0.0
的值。
nan
0.0 / 0.0
的值。
二、运算
正负
+x
返回其自身
负数运算:
-inf | 有限数字 | inf | nan |
---|---|---|---|
inf | 有限数字 | -inf | nan |
加法
+ | -inf | 有限数字 | inf | nan |
---|---|---|---|---|
-inf | -inf | -inf | nan | nan |
有限数字 | -inf | 有限数字 | inf | nan |
inf | nan | inf | inf | nan |
nan | nan | nan | nan | nan |
减法
“比如”中的内容可以让你搞清楚,到底是哪个-哪个(仅限这篇文章)
- | -inf | 有限数字(比如2) | inf | nan |
---|---|---|---|---|
-inf | nan | -inf | -inf | nan |
有限数字(比如3) | inf | 有限数字(比如1) | -inf | nan |
inf | inf | inf | nan | nan |
nan | nan | nan | nan | nan |
乘法
+0 和 -0 是两个不同的数,只是相等而已
* | -inf | 有限负数 | 0 | 有限正数 | inf | nan |
---|---|---|---|---|---|---|
-inf | inf | inf | nan | -inf | -inf | nan |
有限负数 | inf | 有限正数 | 0(符号为乘数0的符号反号) | 有限负数 | -inf | nan |
0 | nan | 0(符号为乘数0的符号反号) | 0(符号为第一个乘数的符号和第二个乘数的符号相同则为正,否则为负) | 0(符号为乘数0的符号) | nan | nan |
有限正数 | -inf | 有限负数 | 0(符号为乘数0的符号) | 有限正数 | inf | nan |
inf | -inf | -inf | nan | inf | inf | nan |
nan | nan | nan | nan | nan | nan | nan |
除法
/ | -inf | 有限负数 | -0 | +0 | 有限正数 | inf | nan |
---|---|---|---|---|---|---|---|
-inf | nan | inf | inf | -inf | -inf | nan | nan |
有限负数 | +0 | 有限正数 | inf | -inf | 有限负数 | -0 | nan |
-0 | +0 | +0 | +0 | -0 | -0 | -0 | nan |
+0 | -0 | -0 | -0 | +0 | +0 | +0 | nan |
有限正数 | -0 | 有限负数 | -inf | inf | 有限正数 | +0 | nan |
inf | nan | -inf | -inf | inf | inf | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan |
乘方
以后再更,欢迎催更!