有关单精度浮点数在计算机内部的存放格式编程的疑问
显示并分析浮点数float在计算机内部的存放格式
要求:根据浮点数在通用计算机的IEEE 754标准存储格式,用vc++编写程序实现显示功能,之后自己举例验证,分析格式,验证所列举的与实际显示的是否一致。
我写了下面这个程序,
#include<stdio.h>void Float(void *p){ long c; int i,b[32];//存整数4个字节 c=*(long *)p;//p从空指针形式强制转换为long型 重要 for(i=0;i<32;i++) { b[i]=c&1;//通过空指针得到的一块数据,移位查看 c=c>>1;//右移 } printf("y="); for(i=31;i>=0;i--) printf("%d",b[i]); printf("\n"); }int main(){ float s; scanf("%lf",&s); Float(&s); }