- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 placement new 编译问题
在MFC的工程里placement new 编译会出现errorerror C2061: syntax error : identifier 'p' 等原因是MFC的cpp重新定义了new#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif
2013-06-17 18:11:44 897 1
原创 电子书转换器calibre
用calibre转换电子书,如pdf格式到ebpu等。效果马马虎虎,对于英文不好的,转换后用蒙哥阅读器或kindle等看,效果还可以http://calibre-ebook.com/get-involved
2013-06-11 11:33:27 1254
原创 vs6 下同个工程多资源文件处理
同一个工程下采用多个rc文件及对应的resource.h文件,这样可以多人同时编辑资源。如负荷项目(BuildLoad/buildLoad/BuildLoad_ltx.rc、BuildLoad_bzw.rc、resource_bzw.h、resource_ltx.h)如何添加的,不太清楚,要问林天熙,所以最好让林天熙补充个文档过来,呵呵。添加后在vs2003以上的编译器编译出来的程序运行均没有问题,但是在vs6下却会因为资源问题导致程序出现未知错误,是由于资源没有编进程序的原因。于是考虑在BuildLoad
2011-05-11 16:25:00 749
转载 进行浮点比较
13.2 绝对值计算绝对值计算是浮点运算的最基本运算之一,几乎没有什么可研究的,下面给出的一些代码有钻牛角尖的意思。我并不推荐读者直接使用,只是希望通过这些代码分析一下计算绝对值这样简单的运算可以达到多高的效率。在实际工作中,对代码的可读性的要求通常高于对效率的要求,读者可以根据实际情况选择一种方式。13.2.1 进行浮点比较一个简单的绝对值计算代码如下:dou
2010-02-24 13:26:00 876
转载 ==在浮点比较中的含义
在整数中,一般使用==操作符判断两个数是否相等,而且浮点运算中也存在==操作符,那么使用==判断两个浮点数是否相等有问题吗?反汇编下列语句:a == b得到下列x87 FPU代码:FLD QWORD PTR [EBP-8]FCOMP QWORD PTR [EBP-10h]要想结果是TRUE,a和b在浮点格式
2010-02-24 13:24:00 726 1
转载 误差来源
13.6 相等判断与整型数不同,浮点数是有精度限制的。数学上的同一个值由于来源不同,计算过程不同,精度也不同,一般不会严格相等。13.6.1 误差来源一般而言,浮点计算中存在下列误差来源:(1)表示误差在第5章中已经说明,浮点数实际上是用一个有限序列逼近数的方式来表示数值的。对某些数而言,这种方式无法绝对准确地表示它的值,例如1.4使用float表示是1.3999999,有
2010-02-24 13:24:00 886
原创 相等判断
从上两节的叙述可知,在浮点计算中两个数据相等的含义通常是指在误差范围内,两个数据的意义一致(即二者描述的物理量的取值一致,或者说相容),不是==操作符的语义,因此不能使用==操作符进行判断。在编程中,浮点数的相等判断通常有下列形式:| V V0 | 代码举例: if( abs( v v0 ) 问题的关键在于
2010-02-24 13:23:00 820
转载 快速平方根算法
在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于3D游戏程式来说速度太慢。我们希望能够在保证足够的精度的同时,进一步提高速度。Carmack在QUAKE3中使用了下面的算法,它第一次在公众场合出现的时候,几乎震住了所有的人。据说该算法其实并不是Carmack发明的,它真正的作者是Nvidia的Gary Taroll
2010-02-24 13:21:00 813
转载 快速平方根和平方计算
在一些3D代码中,计算需要极快的速度,甚至不能忍受整型乘除运算,更别说浮点运算了。但是几乎每一个3D实现中都无法避免平方根和平方运算,因为这些代码必须计算距离。平方运算只是一个浮点乘法,不得已可以忍受,而平方根运算却是不可忍受的低效。快速平方根算法应运而生。下面是VC6中的一个实现:__declspec( naked ) float fast_sqrt( float x ){_
2010-02-24 13:19:00 2786 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人