第一种:
float a = 104.5;
NSLog(@"%X", (int)&a); // 42D10000
第二种:
union u{
float f;
int i;
}u;
u.f = 104.5;
printf("%X",u.i); //42D10000
u.i = 0x42D10000;
printf("%f",u,f); //104.500000
16进制转IEEE-754浮点数10进制
第一种:
union u {
Float32 f;
int32_t i;
}u;
NSString *str = @"36A7C5AC";
sscanf([str UTF8String], "%x", &u.i);
NSLog(@"f = %f",u.f);
// f = 0.000005
网友评论