X87 FPU编程:浮点比较与数组处理
1. 浮点比较示例:CalcSphereAreaVolume
CalcSphereAreaVolume程序用于演示如何比较两个浮点数,同时展示了几个常见的x87 FPU常量加载指令的使用。以下是该程序的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;
}
CalcSphereAreaV
超级会员免费看
订阅专栏 解锁全文
9

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



