如何用putchar输出一个单精度浮点数
给个思路或着给个代码
#include <stdio.h> int putf(float f) { if(f>10)putf(f/10); putchar((int)f%10+'0'); return 0; } int main() { float f; scanf("%f",&f); if(f<0)putchar('-'); if(f>0) putf(f); else putf(-f); putchar('.\n'); printf("%f",f); return 0; }
int main() { unsigned char *a; float b=2.0; /* a=(unsigned char *)&b; int c=sizeof(float); for(int i=0;i<c;i++) putchar(*(a+i)+48); */ unsigned char d = b>>31;//符号 unsigned int e = (b<<1)>>24;//指数 unsigned int f = (b<<9)>>9;//尾数 return 0; }参照我给你连接 自己转换!