📄 fixlog.cpp
字号:
// FixLog.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
//long FixLog32(long x,int e);
extern "C" long FixLog32(long x,int e);
extern "C" long FixLog32_C(long x,long e);
int main(int argc, char* argv[])
{
double sum=0,max=0;
for (int i=0;i<10000;i++) {
int e=rand()*30/RAND_MAX+1;
int x1=rand(),x2=rand(),x=(x1<<16)+x2;
double fx=(double)x/(1<<e);
long y=FixLog32_C(x,e);
//long y=FixLog32(x,e);
double fy=log(fx),d=fabs(fy-(double)y/(double)0x4000000);
if (d>max) max=d;
if (d>2)
printf("%d(%d)\t%lf\n",x,e,d);
sum+=d;
}
printf("Max_Delta=%lf\tAver_Delta=%lf\n",max,sum/10000);
getch(); return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -