2 namedajipai namedajipai 于 2016.09.22 12:00 提问

dat文件中存储的浮点数能不能在程序中精确匹配检索?

dat文件中存储的浮点数能不能在程序中精确匹配检索?看网页上说有一个二分查找,但是不能精确请问怎么克服这个问题?

1个回答

caozhy
caozhy   Ds   Rxr 2016.10.15 23:02
已采纳
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
浮点数不精确的问题
翻译资料:https://en.wikipedia.org/wiki/Floating_point#Accuracy_problemsNOTE:(一)如果大家对于十进制浮点数如何转换为二进制浮点数不太清楚建议复习一下再看这篇文章,参考资料的地址 1. http://www.cnblogs.com/xkfz007/articles/2590472.html 2. http://geeklu.co
浮点数为什么不精确?
浮点数为什么不精确?其实这句话本身就不精确, 相对精确一点的说法是: 我们码农在程序里写的10进制小数,计算机内部无法用二进制的小数来精确的表达。什么是二进制的小数? 就是形如 101.11 数字,注意,这是二进制的,数字只能是0和1。 101.11 就等于 1 * 2^2 +0 *2^1 + 1*2^0 + 1*2^-1 + 1*2^-2 = 4+0+1+1/2+1/4 = 5.75 下面的图
浮点数在内存中的存储格式.rar
浮点数在内存中的存储格式浮点数在内存中的存储格式
确定double型浮点数能精确到小数点后几位
<br />#include<iostream.h> int main() { double i=1.0,j=3.0; i=i/j; cout<<i<<endl; return 0; } <br />方法一:<br />          利用无限循环小数,得到的结果的位数即是其精度
0.1在计算机中不能被精确表示(浮点数的陷阱其实也是二进制下的陷阱?)
#include #include int main() { double i; /* for (i=0; i != 10;i+=0.1) { printf("%.1lf\n",i);//这样写停不下来无限循环 } */ /* for (i=0;i-10<0.00000001;i+=0.1) { printf("% .1lf\n",i);//这样写是可以停下来的。 /
利用lucene对文件内容进行关键字检索
一、概述           关于lucene的具体介绍,请自行百度。 二、实例讲解       在具体实现之前,请根据自己的要求,建立对应的路径及文件。       例如,我这边创建的路径及文件是:       D:/tools/LearningByMyself/lucene/source/demo1.txt              D:/tools/LearningByMysel
C语言为什么不能精确表示浮点数
浮点数是如何存储的呢?目前已知的所有的C/C++编译器都是按照IEEE(国际电子电器工程师协会)制定的IEEE 浮点数表示法来进行运算的。这种结构是一种科学表示法,用符号(正或负)、指数和尾数来表示,底数被确定为2,也就是说是把一个浮点数表示为尾数乘以2的指数次方再加上符号。 从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的
elasticsearch中文汉字的精确查找
最近做的项目有一个功能是要精确查找某个关键字,和另一个搜索功能公用一套ES搜索服务,但是遇到一个问题就是中文的精确查找,用es的termquery()去查只能查出英文和数字,查了很多资料终于搞定了。在这做一个记录和大牛们讨论:     首先要装一下IK分词插件,这个对于中文搜索很重要,当然中文分词插件还有其他许多,es默认对中文是按字来分的。     其次是建索引的时候指定每列的属性,如下:
关于值类型与列类型不匹配,所需类型是 DataRow的解决方案
关于值类型与列类型不匹配,所需类型是 DataRow的解决方案
程序中存储和处理精确浮点数
对于程序中的小数点类型存储: 在数据库中使用decimal(6,4)来存储小数点类型 在java bean中使用BigDecimal类型  add 加 subtract 减 multiply 乘 divide 除 setScale 设置小数点位数 如果使用string类型来接收小数点类型 会出现不精确的现象 比如0.499999这种