#include <stdio.h>
#include <math.h>
double to_decimal(unsigned int num32)
{
double decimal = 0.0;
unsigned int len = 0;
for (int i = 0; num32 >> i; ++i)len++;
for (int i = 1; i < len; ++i)
{
if (num32 & (1 << (len - i)))
{
decimal += (double)pow(2, -i);
}
}
return decimal;
}
int main(void)
{
printf("%f",to_decimal(0xee));//0x00.ee
}
[C]转小数
最新推荐文章于 2023-03-02 13:18:06 发布