📄 mqth2.cpp
字号:
// MQTH2.cpp : Defines the entry point for the console application.
//
// mathtest.cpp : Defines the entry point for the console application.
//
#include"stdio.h"
#include"danim.h"
#include "stdafx.h"
#define testnum
char ch3[8*200+1];
char ch10[8*200+1];
unsigned short ch15[200+1];
int main(int argc, char* argv[])
{
int i,j,n,k,h,num,inputnum;
double Floatnum1;
#ifdef testnum
char ch1[8]={0xf8,0x08,0x82,0xed,0xe6,0x4a,0x7b,0x40}; /////0.149184 vc6.0 X
char ch2[8]={0x6a,0x20,0x99,0x6d,0xfd,0xf4,0x4f,0x67}; /////0.148631 vc6.0 X
char ch8[8]={0x69,0x20,0x99,0x6d,0xfd,0xf4,0x4f,0x67};
unsigned long* pRes = (unsigned long*)(&Floatnum1);
*(pRes+0)=ch1[0]&0xff|((ch1[1]&0xff)<<8)|((ch1[2]&0xff)<<16)|((ch1[3]&0xff)<<24);
*(pRes+1)=ch1[4]&0xff|((ch1[5]&0xff)<<8)|((ch1[6]&0xff)<<16)|((ch1[7]&0xff)<<24);
printf("%f \n",Floatnum1);
Floatnum1=exp(Floatnum1);
printf("%f \n",Floatnum1);
*(pRes+0)=ch2[0]&0xff|((ch2[1]&0xff)<<8)|((ch2[2]&0xff)<<16)|((ch2[3]&0xff)<<24);
*(pRes+1)=ch2[4]&0xff|((ch2[5]&0xff)<<8)|((ch2[6]&0xff)<<16)|((ch2[7]&0xff)<<24);
printf("%f \n",Floatnum1);
*(pRes+0)=ch8[0]&0xff|((ch8[1]&0xff)<<8)|((ch8[2]&0xff)<<16)|((ch8[3]&0xff)<<24);
*(pRes+1)=ch8[4]&0xff|((ch8[5]&0xff)<<8)|((ch8[6]&0xff)<<16)|((ch8[7]&0xff)<<24);
printf("%f \n",Floatnum1); ////esl
#endif
inputnum=0;
printf("please input num<200:");
scanf("%d",&inputnum);
printf("\n");
Filaprintfceil(inputnum);
Filaprintfcosh(inputnum);
Filaprintfexp(inputnum);
Filaprintffabs(inputnum);
Filaprintffloor(inputnum);
Filaprintlog(inputnum);
Filaprintflog10(inputnum);
Filaprintfsinh(inputnum);
Filaprintfsqrt(inputnum);
Filaprintftanh(inputnum);
Filaprintfsin(inputnum);
Filaprintfcos(inputnum);
Filaprintftan(inputnum);
Filaprintfasin(inputnum);
Filaprintfacos(inputnum);
Filaprintfatan(inputnum);
return 0;
}
int Filaprintf(char * ch4,char* ch11 ,char* ch16 ,int num,int IsFirst)
{
int i,j,k,sk;
FILE *fp;
char ch;
char ch5[2];
char Nextline=10;
char str1[100]="int InputNum=";
char str3[10]="*8]={";
char str4[10]="]={";
char str7[10]="////";
if(IsFirst==1)
{
if((fp=fopen("c:\\math.h","wb"))==NULL)
{
printf("1 time Cannot open file strike any key exit!");
return 0;
}
fclose(fp);
}
if((fp=fopen("c:\\math.h","ab+"))==NULL)
{
printf("2 time Cannot open file strike any key exit!");
return 0;
}
if(IsFirst==1)
{
fputs(str1,fp);
ch=(num/8);
Fromnumtochar(ch,ch5);
fputc('0',fp);
fputc('x',fp);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
fputc(';',fp);
fputc(Nextline,fp);
}
fputs(ch16,fp);
{
ch=(num/8);
Fromnumtochar(ch,ch5);
fputc('0',fp);
fputc('x',fp);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
fputs(str4,fp);
if(num>0)
{
fputc('0',fp);
fputc('x',fp);
Fromnumtochar((ch15[0]&0xff00)>>8,ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
Fromnumtochar((ch15[0]&0xff),ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
for(j=1;j<num/8;j++)
{
fputc(',',fp);
fputc('0',fp);
fputc('x',fp);
Fromnumtochar((ch15[j]&0xff00)>>8,ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
Fromnumtochar((ch15[j]&0xff),ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
fputc('}',fp);
fputc(';',fp);
fputc(Nextline,fp);
fputc(Nextline,fp);
fputs(ch4,fp);
{
ch=(num/8);
Fromnumtochar(ch,ch5);
fputc('0',fp);
fputc('x',fp);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
fputs(str3,fp);
if(num>0)
{
fputc('0',fp);
fputc('x',fp);
Fromnumtochar(ch10[0],ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
for(j=1;j<num;j++)
{
fputc(',',fp);
if(j%8==0)
{
fputs(str7,fp);
Fromnumtochar(j/8-1,ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
fputc(Nextline,fp);
}
fputc('0',fp);
fputc('x',fp);
Fromnumtochar(ch10[j],ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
fputc('}',fp);
fputc(';',fp);
fputc(Nextline,fp);
fputc(Nextline,fp);
fputs(ch11,fp);
{
ch=(num/8);
Fromnumtochar(ch,ch5);
fputc('0',fp);
fputc('x',fp);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
fputs(str3,fp);
if(num>0)
{
fputc('0',fp);
fputc('x',fp);
Fromnumtochar(ch3[0],ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
sk=0;
for(j=1;j<num;j++)
{
fputc(',',fp);
if(j%8==0)
{
fputs(str7,fp);
Fromnumtochar(j/8-1,ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
fputc(Nextline,fp);
}
fputc('0',fp);
fputc('x',fp);
Fromnumtochar(ch3[j],ch5);
fputc(ch5[0],fp);
fputc(ch5[1],fp);
}
fputc('}',fp);
fputc(';',fp);
fputc(Nextline,fp);
fputc(Nextline,fp);
rewind(fp);
ch=fgetc(fp);
/*
while (ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
*/
fclose(fp);
return 0;
}
int Fromnumtochar(char ch6,char *ch4)
{
int i;
char ch1,ch2;
int num1,num2;
num1=(ch6&0xf);
num2= (( ch6&0xf0)>>4);
for(i=0;i<2;i++)
{
switch(num2)
{
case 0:
ch2='0';
break;
case 1:
ch2='1';
break;
case 2:
ch2='2';
break;
case 3:
ch2='3';
break;
case 4:
ch2='4';
break;
case 5:
ch2='5';
break;
case 6:
ch2='6';
break;
case 7:
ch2='7';
break;
case 8:
ch2='8';
break;
case 9:
ch2='9';
break;
case 10:
ch2='a';
break;
case 11:
ch2='b';
break;
case 12:
ch2='c';
break;
case 13:
ch2='d';
break;
case 14:
ch2='e';
break;
case 15:
ch2='f';
break;
}
ch4[i]=ch2;
num2=num1;
}
return 0;
}
int Filaprintfceil(int number)
{
char str1[100]="unsigned char __rom InputNumceil[";
char str2[100]="unsigned char __rom OutptNumceil[";
char str4[100]="unsigned int __rom InputrandomNumceil[";
int i,j,n,k,h,num,Ramnum;
char *ch1;
char *ch13;
char ch2[8];
char ch23[8];
double Floatnum1,Floatnum2,Floatnum3;
unsigned long* pRes = (unsigned long*)(&Floatnum1);
for(i=0;i<number;i++)
{
k=0;
k=rand()%2;
Ramnum=rand();
ch15[i]=Ramnum;
Floatnum1=(Ramnum-number)*2*M_PI;
if(k==1)
Floatnum1=-Floatnum1;
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=((*(pRes+0)&0xff00)>>8)&0xff;
ch2[2]=((*(pRes+0)&0xff0000)>>16)&0xff;
ch2[3]=((*(pRes+0)&0xff000000)>>24)&0xff;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=((*(pRes+1)&0xff00)>>8)&0xff;
ch2[6]=((*(pRes+1)&0xff0000)>>16)&0xff;
ch2[7]=((*(pRes+1)&0xff000000)>>24)&0xff;
for(j=0;j<8;j++)
{
ch10[i*8+j]= ch2[j]&0xff;
}
Floatnum2=Floatnum1;
Floatnum1=ceil(Floatnum2);
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=((*(pRes+0)&0xff00)>>8)&0xff;
ch2[2]=((*(pRes+0)&0xff0000)>>16)&0xff;
ch2[3]=((*(pRes+0)&0xff000000)>>24)&0xff;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=((*(pRes+1)&0xff00)>>8)&0xff;
ch2[6]=((*(pRes+1)&0xff0000)>>16)&0xff;
ch2[7]=((*(pRes+1)&0xff000000)>>24)&0xff;
for(j=0;j<8;j++)
{
ch3[i*8+j]= ch2[j]&0xff;
}
}
ch10[number*8]='\0';
ch3[number*8]='\0';
Filaprintf(str1,str2,str4,number*8,1);
return 0;
}
int Filaprintfcosh(int number)
{
char str1[100]="unsigned char __rom InputNumcosh[";
char str2[100]="unsigned char __rom OutptNumcosh[";
char str4[100]="unsigned int __rom InputrandomNumcosh[";
int i,j,n,k,h,num,Ramnum;
char *ch1;
char *ch13;
char ch2[8];
char ch23[8];
double Floatnum1,Floatnum2,Floatnum3;
unsigned long* pRes = (unsigned long*)(&Floatnum1);
for(i=0;i<number;i++)
{
k=0;
k=rand()%2;
Ramnum=rand();
ch15[i]=Ramnum;
Floatnum1=(Ramnum-number)*2*M_PI;
Floatnum1=1/Floatnum1;
if(k==1)
Floatnum1=-Floatnum1;
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch10[i*8+j]= ch2[j]&0xff;
}
Floatnum2=Floatnum1;
Floatnum1=cosh(Floatnum2);
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch3[i*8+j]= ch2[j]&0xff;
}
}
ch10[number*8]='\0';
ch3[number*8]='\0';
Filaprintf(str1,str2,str4,number*8,0);
return 0;
}
int Filaprintfexp(int number)
{
char str1[100]="unsigned int __rom InputNumexp[";
char str2[100]="unsigned long __rom OutptNumexp[";
char str4[100]="unsigned int __rom Inputrandomexp[";
int i,j,n,k,h,num,Ramnum;
char *ch1;
char *ch13;
char ch2[8];
char ch23[8];
double Floatnum1,Floatnum2,Floatnum3;
unsigned long* pRes = (unsigned long*)(&Floatnum1);
k=0;
for(i=0;i<number;i++)
{
k=0;
k=rand()%2;
Ramnum=rand()%0x7f;
ch15[i]=Ramnum;
Floatnum1=Ramnum+number;
Floatnum1=Floatnum1*M_PI;
if(k==1)
Floatnum1=-Floatnum1;
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch10[i*8+j]= ch2[j]&0xff;
}
Floatnum2=Floatnum1;
Floatnum1=exp(Floatnum2);
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch3[i*8+j]= ch2[j]&0xff;
}
}
ch10[number*8]='\0';
ch3[number*8]='\0';
Filaprintf(str1,str2,str4,number*8,0);
return 0;
}
int Filaprintffabs(int number)
{
char str1[100]="unsigned char __rom InputNumfabs[";
char str2[100]="unsigned char __rom OutptNumfabs[";
char str4[100]="unsigned int __rom InputrandomNumfabs[";
int i,j,n,k,h,num,Ramnum;
char *ch1;
char *ch13;
char ch2[8];
char ch23[8];
double Floatnum1,Floatnum2,Floatnum3;
unsigned long* pRes = (unsigned long*)(&Floatnum1);
k=0;
for(i=0;i<number;i++)
{
k=0;
k=rand()%2;
Ramnum=rand();
ch15[i]=Ramnum;
Floatnum1=(Ramnum-number)*2*M_PI;
if(k==1)
Floatnum1=-Floatnum1;
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch10[i*8+j]= ch2[j]&0xff;
}
Floatnum2=Floatnum1;
Floatnum1=fabs(Floatnum2);
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch3[i*8+j]= ch2[j]&0xff;
}
}
ch10[number*8]='\0';
ch3[number*8]='\0';
Filaprintf(str1,str2,str4,number*8,0);
return 0;
}
int Filaprintffloor(int number)
{
char str1[100]="unsigned char __rom InputNumfloor[";
char str2[100]="unsigned char __rom OutptNumfloor[";
char str4[100]="unsigned int __rom InputrandomNumfloor[";
int i,j,n,k,h,num,Ramnum;
char *ch1;
char *ch13;
char ch2[8];
char ch23[8];
double Floatnum1,Floatnum2,Floatnum3;
unsigned long* pRes = (unsigned long*)(&Floatnum1);
for(i=0;i<number;i++)
{
k=0;
k=rand()%2;
Ramnum=rand();
ch15[i]=Ramnum;
Floatnum1=(Ramnum-number)*2*M_PI;
if(k==1)
Floatnum1=-Floatnum1;
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch10[i*8+j]= ch2[j]&0xff;
}
Floatnum2=Floatnum1;
Floatnum1=floor(Floatnum2);
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch3[i*8+j]= ch2[j]&0xff;
}
}
ch10[number*8]='\0';
ch3[number*8]='\0';
Filaprintf(str1,str2,str4,number*8,0);
return 0;
}
int Filaprintlog(int number)
{
char str1[100]="unsigned int __rom InputNumlog[";
char str2[100]="unsigned long __rom OutptNumlog[";
char str4[100]="unsigned int __rom Inputrandomlog[";
int i,j,n,k,h,num,Ramnum;
char *ch1;
char *ch13;
char ch2[8];
char ch23[8];
double Floatnum1,Floatnum2,Floatnum3;
unsigned long* pRes = (unsigned long*)(&Floatnum1);
for(i=0;i<number;i++)
{
k=0;
k=rand()%2;
Ramnum=rand()%0x7f;
ch15[i]=Ramnum;
Floatnum1=Ramnum+number;
Floatnum1=Floatnum1*M_PI;
ch2[0]=(*(pRes+0)&0xff);
ch2[1]=(*(pRes+0)&0xff00)>>8;
ch2[2]=(*(pRes+0)&0xff0000)>>16;
ch2[3]=(*(pRes+0)&0xff000000)>>24;
ch2[4]=(*(pRes+1)&0xff);
ch2[5]=(*(pRes+1)&0xff00)>>8;
ch2[6]=(*(pRes+1)&0xff0000)>>16;
ch2[7]=(*(pRes+1)&0xff000000)>>24;
for(j=0;j<8;j++)
{
ch10[i*8+j]= ch2[j]&0xff;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -