X87 FPU编程:从基础到高级应用
1. 浮点比较与球体面积体积计算
1.1 示例程序介绍
示例程序 CalcSphereAreaVolume 用于演示如何比较两个浮点数,同时展示了几个常见的x87 FPU常量加载指令的使用。以下是该程序的C++和汇编语言源代码。
C++代码(CalcSphereAreaVolume.cpp)
#include "stdafx.h"
extern "C" bool CalcSphereAreaVolume_(double r, double* sa, double* v);
int _tmain(int argc, _TCHAR* argv[])
{
double r[] = { -1.0, 0.0, 1.0, 2.0, 3.0, 5.0, 10.0, 20.0 };
int num_r = sizeof(r) / sizeof(double);
for (int i = 0; i < num_r; i++)
{
double sa = -1;
double v = -1;
bool rc = CalcSphereAreaVolume_(r[i], &sa, &v);
printf("rc: %d r: %8.2lf sa: %10.4lf v: %10.4lf\n", rc, r[i], sa, v);
}
return 0;
}
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



