Chinaunix首页 | 论坛 | 博客
  • 博客访问: 762013
  • 博文数量: 803
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 10:29
文章分类

全部博文(803)

文章存档

2011年(1)

2008年(802)

我的朋友

分类:

2008-10-29 11:49:51


  用一种不常用的NUMBER数据类型来数据,该类型使用BCD码(用16进制
  
  0x99来代表十进制的99)。ANSI标准数据类型,比如INTEGER,FLOAT,以及DOUBLE都是NUMBER数据类型的别名。INTEGER数据类型不支持十进制,FLOAT,以及DOUBLE来约束数据以满足整数类型的数据。
  
  IEEE 754 标准格式是绝大多数计算机操作系统和程序设计中最为普通的格式。浮点型数据的内部格式通常为32位(浮点型)或者64位(双精度型)。
  
  当数据从数据库传递到开发语言环境时,数据需要从一种格式转化为其它的格式。当进行数据转换时,有可能造成数据精度上的丢失。同样,数据从一种类型转换为另一种类型的过程也会影响程序的性能,因为大范围的数据需要转换。
  
  在 10g中,Oracle调用接口(Oracle Call Interface),一个列,或者PL/SQL变量都可以使用BINARY_FLOAT或BINARY_DOUBLE数据类型。在开发环境中,比如,这些数据类型之间不需要进行数据的转换。
  
  而这其中的过程是以运行速度与精度作为的。Oracle内部数据能够精确地存储38个数字。IEEE 754浮点型数据只能以二进制存储7个数字,而且IEEE数据也存在“逐渐下溢(gradual underflow)”的问题,因为二进制数据通常是一些重复的数字。比如,0.1在Oracle是一个准确的数据,但当它转化为二进制时会出现很多重复的数字。
【责编:admin】

--------------------next---------------------

阅读(477) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~