文档章节

C# 中的 Infinity 和 NaN

ucliaohh
 ucliaohh
发布于 2015/09/02 13:07
字数 233
阅读 919
收藏 0

        C#语言中,对于 int,long 和 decimal类型的数,任何数除以 0 所得的结果是无穷大,不在int,long 和 decimal 类型的范围之内,所以计算 6/0 之类的表达式会出错。

        但是,double 和 float 类型实际上有一个可以表示无穷大的特殊值:5.0/0.0 = Infinity(无穷大),这个规则唯一的例外是0.0/0.0 = NaN (Not a Number)。

  1. using System;  

  2. using System.Collections.Generic;  

  3. using System.Linq;  

  4. using System.Text;  

  5.   

  6. namespace Infinity_NaN  

  7. {  

  8.     class Program  

  9.     {  

  10.         static void Main(string[] args)  

  11.         {  

  12.             Console.WriteLine("5 / 2 = {0}", 5 / 2);            // 2  

  13.             Console.WriteLine("5.0 / 2.0 = {0}", 5.0 / 2.0);    // 2.5  

  14.             Console.WriteLine("5.0 / 2 = {0}", 5.0 / 2);        // 2.5  

  15.             Console.WriteLine("5 / 2.0 = {0}", 5 / 2.0);        // 2.5  

  16.             Console.WriteLine("5.0 / 0.0 = {0}", 5.0 / 0.0);    // Infinity  

  17.             Console.WriteLine("5.0 / 0 = {0}", 5.0 / 0);      // Infinity  

  18.             Console.WriteLine("0.0 / 0.0 = {0}", 0.0 / 0.0);    // NaN  

  19.             Console.WriteLine("5 / 0.0 = {0}", 5 / 0.0);        // Infinity  

  20.             Console.WriteLine("0.0 / 0 = {0}", 0.0 / 0);        // NaN  

  21.   

  22.             //Console.WriteLine("5 / 0 = {0}", 5 / 0); // Err: Division by constant zero  

  23.             //Console.WriteLine("0 / 0 = {0}", 0 / 0); // Err: Division by constant zero  

  24.               

  25.             // Infinity + 10 = Infinity  

  26.             // Infinity * 0 = 0  

  27.             // NaN + 10 = NaN  

  28.             // NaN * 0 = NaN  

  29.         }  

  30.     }  

  31. }  

运行后结果如下图所示:

本文转载自:

ucliaohh
粉丝 3
博文 105
码字总数 58328
作品 0
其它
高级程序员
私信 提问
加载中

评论(2)

ucliaohh
ucliaohh
多谢
struct
struct
在计算机中,正浮点数除以零为无穷大,负浮点数除以零为无穷小等都是由电气和电子工程师协会的浮点算法规范规定的,跟使用什么语言没有太大关系。
JavaScript中的一些特殊用法(二)

非数值类型转数值 使用Number()转换时: undefined会转为NaN 如果字符串以0开始,浏览器会忽略前导0,不会按照八进制进行转换 如果字符串以0x开始,浏览器会按照十六进制转化为十进制返回 如...

我是偶哦
2016/06/07
61
0
《Javascript高级程序设计》学习记录(一)

最近又开始重新阅读《javascript高级程序设计》了,记忆中这是第三次了,但是前面都是走马观花式的过了,这次还是需要好好整理和实践一番了。 虽然是一些基础概念,但是还是有好多容易注意的...

sunshinewyf
2015/11/12
0
0
核心JavaScript(一):数据类型与变量之Number初探

说起Number,应该是ECMAScript中最令人关注的数据类型了,遵循IEEE754格式,最基本的声明如下: var intNum = 34; //整数var a = 070; //若数值起始为0,JS尝试解析为8进制数字var b = 079; ...

hhstuhackey
2013/03/25
0
0
浮点数Number NaN isNaN()非数函数

无穷(正负无穷) alert(Number.POSITIVEINFINITY); //infinity正无穷 alert(Number.NEGATIVEINFINITY); //-infinity负无穷 /浮点数值范围 alert(Number.MINVALUE);//最小值 alert(Number.M......

sinat_34719507
2016/12/29
0
0
java中的NAN和INFINITY

java浮点数运算中有两个特殊的情况:NAN、INFINITY。 1、INFINITY: 在浮点数运算时,有时我们会遇到除数为0的情况,那java是如何解决的呢? 我们知道,在整型运算中,除数是不能为0的,否则...

李矮矮
2016/10/27
7
0

没有更多内容

加载失败,请刷新页面

加载更多

Feign Retryer的默认重试策略测试

1、Feign配置 @Configurationpublic class FeignConfig { @Value("${coupon_service.url:http://localhost:8081}") private String couponServiceUrl; @Bean publ......

moon888
23分钟前
1
0
关于不同域名下的session共享问题

如果登录,首页,分类,列表,产品都在不同的二级域名下,主域名不变,一定要保证里面的版本问题,不能为了更新而更新,这样哪个下面的session都访问不了。

dragon_tech
25分钟前
2
0
iOS 中文拼音互转(好东西记录一下)

PinYin4Objc

_____1____
33分钟前
1
0
fabric private data实战

Hyperledger Fabric private data是1.2版本引入的新特性,fabric private data是利用旁支数据库(SideDB)来保存若干个通道成员之间的私有数据,从而在通道之上又提供了一层更灵活的数据保护...

汇智网教程
33分钟前
1
0
es之聚合查询汇总

记录一下最近用到的es聚合查询,感觉常见的应该多遇上了,下午抽空更新

我真是小菜鸡
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部