如何在二分查找的程序中实现对某个具体的浮点型进行精确地查找的算法?

如何在二分查找的程序中实现对某个具体的浮点型进行精确地查找的算法?

问题描述:

如何在二分查找的程序中实现对某个具体的浮点型进行精确地查找的算法?是基于dat文件的存储的搜索,用什么方式进行?

浮点数无法实现精确比较,所以不能直接实现你这里所说的精确查找。可以通过hash的思路对浮点数做一个转换,最后以这个hash值作为key来进行查找,这样应该可以实现精确查找。
一种最简单的hash函数就是讲一个浮点数对应的二进制表示或者16进制字符串表示序列作为hash值,两个精确相等的浮点数的16进制表示对应的字符串应该是完全相同的,这样就转化为字符串的比较了,可以实现精确查找。