大家都知道浮点数的编码规则,其中就包括阶数,我的问题就是能不能直接把阶数提取出来(注意是直接提取),我试过位运算,但好象是非法的。
没有试过!
main() { int i; float a=1.0,*t; long *ptr;
ptr=&a; for(i=0;i<32;i++) { printf("%d",*ptr&0x1); *ptr=*ptr>>1; }
}
这样或许可以,手工试了1.0, 1.5, 2.0是正确的,你试试看。注意输出是反序的
!!!!!!!利用这个!!!!
哇!!!!!!!!我怎么每想到呢?
谢谢knocker!!!!