DECIMAL 与 FLOAT 比较
目录
一:一般Java程序中
二:DB2中的单双精度
(1)定义
(2)精确性
(3)性能优势
一:一般Java程序中
Double 与 Float 的区别:
01.在内存中占有的字节数不同
单精度浮点数在机内存占4个字节
双精度浮点数在机内存占8个字节
02.有效数字位数不同
单精度浮点数有效数字8位
双精度浮点数有效数字16位
03.数值取值范围
单精度浮点数的表示范围:-3.40E+38~3.40E+38
双精度浮点数的表示范围:-1.79E+308~-1.79E+308
04.在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快
二:DB2中的单双精度
(1)定义
REAL:单精度浮点 32位 近似值 可以是零,或者可以从-3.4028234663852886e + 38到-1.1754943508222875e-38或者从1.1754943508222875e-38到3.4028234663852886e + 38。
DOUBLE或FLOAT:双精度浮点 64位 近似值。该数字可以是零,或者可以从-1.7976931348623158e + 308到-2.2250738585072014e-308,或者从 2.2250738585072014e-308到1.7976931348623158e + 308。
(2)精确性
REAL 和 DOUBLE,只是通过二进制近似方式来处理十进制数据。
因为二进制只能表示2的n次方的数,n可以取负值,3.3无法用2的n次方的数组合计算出来,所以无法精确表示:3.3=1*2+1*1+0*1/2+1*1/4+0*1/8+0*1/16+1*1/32+...
DECFLOAT 它是一种十进制浮点数据类型,适合处理精确的十进制业务数据
浮点数据类型例如 REAL 和 DOUBLE 类型都只是通过二进制近似方式来处理十进制数据
DECFLOAT可选DECFLOAT(16)和DECFLOAT(34),其意义为:DECFLOAT(34)可存储整数位和小数位的长度之和和为34的小数,超长则从小数位截断,对于整数也是可存34位的纯整数,超长则截断34位之后的补零并转换为幂值:
(3)性能优势
FLOAT 类型更具性能优势,数据体积更小
特性:DECIMAL会对存储的数据自动补0,补多少取决于定义时的大小
例子:
1.1760913 (float,double)
1.1760913000000000 (DECIMAL(30,16))
在亿级别的数据流转中,多余的 0 会极大的影响数据传输,
增多不必要的 “0” 的读写操作
DECIMAL 与 FLOAT 比较相关推荐
- decimal,float和double的区别
一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 Name CTS Type De script ion Significan ...
- python报错TypeError: unsupported operand type(s) for -: ‘decimal.Decimal‘ and ‘float‘的解决方法
问题描述 在编写python代码时,进行小数位相减时出现 TypeError: unsupported operand type(s) for -: 'decimal.Decimal' and 'fl ...
- decimal,float和double的区别是什么?
https://zhuanlan.zhihu.com/p/352503879 今天复习mysql理论知识,在看常用数据类型的时候发现float和decimal类型都是表示小数,就展开搜索学习了一下区别 ...
- C#中对于float,double,decimal的误解
C#中对于float,double,decimal的误解 原文:C#中对于float,double,decimal的误解 一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和d ...
- java sql 写入 float_SQL Server的小数数值类型(float 和 decimal)用法
在SQL Server中,实际上小数数值只有两种数据类型:float 和 decimal,分别是近似数值和精确数值.其他小数类型,都可以使用float和decimal来替代,例如,双精度(double ...
- [转载] python-TypeError: Object of type ‘Decimal‘ is not JSON serializable 报错
参考链接: Python-Json 4: 如何使Json数据格式更易读 class DecimalEncoder(json.JSONEncoder): def default(self, o): if ...
- python3从零学习-5.3.3、十进制定点和浮点运算decimal
源码: Lib/decimal.py decimal 模块为快速正确舍入的十进制浮点运算提供支持. 它提供了 float 数据类型以外的几个优点: Decimal 类型的"设计是基于考虑人类 ...
- 一木.溪桥学Python-04: Python基础数据类型int ,float ,bool ,complex,None,str, 转义字符
一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-04: Python基础数据类型int ,float ,bool ,compl ...
- Python—数据类型之decimal类型
十进制类型 要创建Decimals,必须先导入decimal模块 decimal的精度可以由我们自己指定 函数 decimal.Decimal(x) #x可以是一个整数或字符串,但不能是浮点数 > ...
最新文章
- 冠军方案分享:ICPR 2020大规模商品图像识别挑战赛冠军解读
- SharePoint 2013 APP 开发示例 (三)使用远程的web资源
- SAP UI5 fullScreenPageRoutes in Component.js
- matlab mex路径,使用matlab进行mex编译时的路径问题mexopts
- 渗透测试流程(单台服务器)
- 13建造者模式(Builder)
- php创建windos用户,window_Win7系统创建及开启隐藏账户图文教程, 在电脑操作中有时候因为 - phpStudy...
- centos7.4安装mysql5.7_centos7.4三种方式安装mysql5.7
- ie6,ie7,ie8 css bug兼容解决记录
- Hibernate学习汇总
- android随机数方法,Android生成随机数的方法实例
- 谁说 Java 不能用来跑 Serverless?
- java课设 五子棋_Java课程设计 ————五子棋 (个人博客)
- html中input描述,input的type值类型和描述-HTML
- LayuI固定块关闭
- 如何做软件需求分析(个人工作经验总结)
- 宋宝华:当Linux内核遭遇鲨鱼—kernelshark
- 美元与人民币汇率 Python
- 一些关于KIRIKIRI及2等等等等的研究资料- -
- 新型网络病毒“风暴”防护解决方案