星期日, 10月 19, 2008

研究浮點數用的

一個好玩的程式

拿來研究浮點數用的

然後 另外就是這個頁面
http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx

可以讓你順利的貼上code

#include <stdio.h>
#include <stdlib.h>

void disp_binary(char num){
int i,ret;

for(i=sizeof(num)*8-1;i>=0;i--){
ret=num&(1<<i);
printf("%d",ret?1:0);

}
}

void disp_float(float n){
char buf[4];
int i;

printf("%f = \n",n);

memcpy(buf,&n,sizeof(n));

for(i=3;i>=0;i--){
disp_binary(buf[i]);
printf(" ");

}
printf("\nSXXXXXXX XMMMMMMM MMMMMMMM MMMMMMMM\n");

}

void disp_double(double n){
char buf[8];
int i;

printf("%f = \n",n);

memcpy(buf,&n,sizeof(n));

for(i=7;i>=0;i--){
disp_binary(buf[i]);
printf(" ");

}
printf("\nSXXXXXXX XXXXMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM\n");
}


int main(int argc, char *argv[])
{
printf("Please Key In:");
char keyin[100];
float f;
double d;
while(1){
scanf("%s",keyin);


sscanf(keyin,"%f",&f);
disp_float(f);
printf("\n");

sscanf(keyin,"%lf",&d);
disp_double(d);

system("PAUSE"); }
return 0;
}


參考"c程式設計500個應用範例技巧大全集"/平田豐 2005/4