计算机怎样表示无穷大

yonglei0915 2010-10-17 01:09:23
如题,类似于"+∞",怎样表示?
...全文
2549 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
hughwisdom 2010-10-18
  • 打赏
  • 举报
回复
这个问题还没想过 学习中
冻结 2010-10-18
  • 打赏
  • 举报
回复
C++ 标准程序库
p59 数值极限
CCCCCCCCCCCCCCC 2010-10-18
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace InfandNaN
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("1.0/0.0 = {0}", 1.0 / 0.0);
Console.WriteLine("0.0/0.0 = {0}", 0.0 / 0.0);
}
}
}


1.0/0.0 = 正无穷大
0.0/0.0 = 非数字
请按任意键继续. . .
FancyMouse 2010-10-18
  • 打赏
  • 举报
回复
NaN和无穷大是两回事。
cao_julians 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mlee79 的回复:]
引用 11 楼 arong1234 的回复:

从数学上讲,1/0永远是一个非法的数,而不是一个无穷大数。没有研究过IEEE标准,但是1/0是一个非法的double更合理。
在编程领域中,你没有必要搞一个真正的无穷大,一个“很大”的数已经足够好了,在这种情况下,任何一个很大的数都比1/0好,因为1/0是非法值


IEEE标准规定 阶码全1, 尾数为0 的数表示无穷大 INF , 阶码……
[/Quote]
IEEE754中提供了NaN表示浮点数的“无穷大”。
ANSI C标准中数学库math.h中有一组宏常量(如NAN、FP_INFINITE)表示无穷大。
建议看《C Primer Plus》的附录B.5.8
nlqlove 2010-10-18
  • 打赏
  • 举报
回复
unsigned int MaxINT=~0;

其他类型以此类推。
__________________ 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 lishanchao 的回复:]
有时这样定义:
C/C++ code

#define MAX (unsigned int)-1
[/Quote]
#define MAX (unsigned long long)-1
不是更爽。呵呵
dongbo12369 2010-10-18
  • 打赏
  • 举报
回复
哈哈,楼上好热心捏。。。
zff869030831 2010-10-18
  • 打赏
  • 举报
回复
我建议用#include<limits.h>
中的INT_MAX就可以了
kyzy_yy_pm 2010-10-18
  • 打赏
  • 举报
回复
还不如直接内置一个变量,将其设置为无穷大呢
xiaoshang_program 2010-10-18
  • 打赏
  • 举报
回复

double i,j;
i=1;
j=0;
无穷大=i/j;
kyzy_yy_pm 2010-10-18
  • 打赏
  • 举报
回复
gcc竟然搞这个

1 / 0 == 1 * (0 / 0) == 0 == 无穷大???????????

在gcc上竟然是无穷大
orochi215 2010-10-18
  • 打赏
  • 举报
回复
同意 非法论
乐CC 2010-10-18
  • 打赏
  • 举报
回复
这个数加1等于自己,计算机凌乱了...
you12321 2010-10-18
  • 打赏
  • 举报
回复
计算机可以表示的最大的数当做极限吧。
Anniejzl 2010-10-17
  • 打赏
  • 举报
回复
if(i==999999)
{
cout < < "i为无限大 ";
}

flowerjack 2010-10-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mlee79 的回复:]
引用 11 楼 arong1234 的回复:

从数学上讲,1/0永远是一个非法的数,而不是一个无穷大数。没有研究过IEEE标准,但是1/0是一个非法的double更合理。
在编程领域中,你没有必要搞一个真正的无穷大,一个“很大”的数已经足够好了,在这种情况下,任何一个很大的数都比1/0好,因为1/0是非法值


IEEE标准规定 阶码全1, 尾数为0 的数表示无穷大 INF , 阶码……
[/Quote]
嗯,我是刚学完这个,所以很清楚。arong1234的是正解。
各位如果忘记了的话,就回去番番《计算机组成原理》来看一下吧
wuda00001 2010-10-17
  • 打赏
  • 举报
回复
计算机不会运行无限大的数
一般在一个程序中定义一个很大的数,像999999来表示无限大,如果这个数等于999999,则其就为无限大
判断可以:
if(i==999999)
{
cout<<"i为无限大";
}
ForestDB 2010-10-17
  • 打赏
  • 举报
回复
看IEEE754
show_bill 2010-10-17
  • 打赏
  • 举报
回复
IEEE754标准里面有定义
加载更多回复(22)

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧