专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » int最大值:number的最大值是1.0 x 10E126证明 »正文

int最大值:number的最大值是1.0 x 10E126证明

来源: 发布时间:星期四, 2009年2月12日 浏览:94次 评论:0


在讨论number最大值是1.0 x 10E126下面是测试过程:
下面是阶层算法:
CREATE OR REPLACE FUNCTION F_SUM_MULTI(P_IN IN NUMBER) RETURN NUMBER AS
V_RESULT_MULTI NUMBER DEFAULT 1;
V_RESULT NUMBER DEFAULT 0;
BEGIN
FOR I IN 1..P_IN LOOP
V_RESULT_MULTI := V_RESULT_MULTI * I;
V_RESULT := V_RESULT + V_RESULT_MULTI;
END LOOP;
RETURN V_RESULT;
END;

已创建

SQL> SELECT F_SUM_MULTI(5) FROM DUAL;

F_SUM_MULTI(5)
--------------
153

--下面是100阶层是1E126
SQL> SELECT F_SUM_MULTI(100) FROM DUAL;

F_SUM_MULTI(100)
----------------
1E126

--下面是83阶层是3.99364736324753E124
SQL> SELECT F_SUM_MULTI(83) FROM DUAL;

F_SUM_MULTI(83)
---------------
3.99364736324753E124

--下面是84阶层也是1E126
SQL> SELECT F_SUM_MULTI(84) FROM DUAL;

F_SUM_MULTI(84)
---------------
1E126

整理总结:100阶层和84阶层值是这个按照按照道理是不可能但是由于在定义中返回值是个
number类型由于number类型是有最大值限制所以这样就限制了阶层返回值大小

结论:上面例子介绍说明number类型最大值是10E126
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: