PostgreSQL浮点数是怎么实现的


这篇文章主要介绍“PostgreSQL浮点数是怎么实现的”,在日常操作中,相信很多人在PostgreSQL浮点数是怎么实现的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL浮点数是怎么实现的”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!众所周知,计算机是以二进制方式存储数据,而浮点数在序列化为二进制时可能会出现精度丢失(IEEE 754标准),对于数据库实现来说,会引入一个问题,那就是那么两个浮点数之间在比较时在数据库是如何实现的?
下面是用于测试脚本:浮点数的编码可参考维基百科,简单来说由三部分组成,包括符号位,有效数字和指数位.其中,在指数位全为1(二进制的1)时,如果有效数字不全为0,那么这个数不是一个数(以nan表示).浮点数(双精度)的比较实现函免费云主机域名数是float8_cmp_internal,逻辑比较简单.
其中nan亦即上面介绍的”不是一个数nan”在C语言中,浮点数不要比较相等或不等,但可以进行,>=,但在SQL中,可以进行相等或不等运算,因为实质通过>,

测试脚本跟踪分析查看内存中的数据(8个字节,以单字节b方式显示)同时,我们用c语言来打印123.31和123.45的二进制编码作为对照输出的值与在跟踪分析中的内存值一致.到此,关于“PostgreSQL浮点数是怎么实现的”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: 窥镜下的OLTP以及我们的发现(一)

作者:Stavros Harizopoulos, Daniel J. Abadi, Samuel Madden, Michael Stonebraker 联机事务处理 (OLTP) 数据库包含一系列针对 20 世纪 70 年代的计算机技术而优化的功能 —— 磁…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/10 10:27
下一篇 01/10 10:27