?? gnrom256.cpp
字號:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <math.h>void main(){ const numbits = 32; int i,k;
long stmp;
long scale;
FILE *sinw1text,*sinw2text,*sinw3text; FILE *cosw1text,*cosw2text,*cosw3text; char quote; float pi,w; long cosdataw1[256],cosdataw2[256],cosdataw3[256]; long sindataw1[256],sindataw2[256],sindataw3[256]; char data[32+1];//32 bits + /0 pi = 3.141592653589; w = 2*pi*1/1024; quote = '"'; scale = pow(2,numbits-1); sinw1text = fopen("sin256w1.txt","w+"); cosw1text = fopen("cos256w1.txt","w+"); sinw2text = fopen("sin256w2.txt","w+"); cosw2text = fopen("cos256w2.txt","w+"); sinw3text = fopen("sin256w3.txt","w+"); cosw3text = fopen("cos256w3.txt","w+"); // generate the first half wave cosine for (i=0;i<=255;i++){ cosdataw1[i] = (long) ((scale-1) * cos(i*w)); sindataw1[i] = (long) ((scale-1) * sin(i*w));
cosdataw2[i] = (long) ((scale-1) * cos(2*i*w));
sindataw2[i] = (long) ((scale-1) * sin(2*i*w));
cosdataw3[i] = (long) ((scale-1) * cos(3*i*w));
sindataw3[i] = (long) ((scale-1) * sin(3*i*w));
};
//sin w1 for (i=0;i<=255;i++){ stmp = sindataw1[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(sinw1text,"\t\tROMWORD'(%c",quote); fprintf(sinw1text,"%s",data); fprintf(sinw1text,"%c),--address=%d\n",quote,i); }; fclose(sinw1text); //sin w2 for (i=0;i<=255;i++){ stmp = sindataw2[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(sinw2text,"\t\tROMWORD'(%c",quote); fprintf(sinw2text,"%s",data); fprintf(sinw2text,"%c),--address=%d\n",quote,i); }; fclose(sinw2text); //sin w3 for (i=0;i<=255;i++){ stmp = sindataw3[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(sinw3text,"\t\tROMWORD'(%c",quote); fprintf(sinw3text,"%s",data); fprintf(sinw3text,"%c),--address=%d\n",quote,i); }; fclose(sinw3text); //cos w1 for (i=0;i<=255;i++){ stmp = cosdataw1[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(cosw1text,"\t\tROMWORD'(%c",quote); fprintf(cosw1text,"%s",data); fprintf(cosw1text,"%c),--address=%d\n",quote,i); }; fclose(cosw1text); //cos w2 for (i=0;i<=255;i++){ stmp = cosdataw2[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(cosw2text,"\t\tROMWORD'(%c",quote); fprintf(cosw2text,"%s",data); fprintf(cosw2text,"%c),--address=%d\n",quote,i); }; fclose(cosw2text); //cos w3 for (i=0;i<=255;i++){ stmp = cosdataw3[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(cosw3text,"\t\tROMWORD'(%c",quote); fprintf(cosw3text,"%s",data); fprintf(cosw3text,"%c),--address=%d\n",quote,i); }; fclose(cosw3text);};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -