全部博文(20)
分类:
2011-04-13 10:38:18
举个例子:234.0用float类型表示时使用4字节保存,内容是 0x436a0000。换成二进制表示为01000011011010100000000000000000,其中符号为0,指数为10000110,有效数字为11010100000000000000000。指数换成10进制为134,减去127为7。有效数字其实是小数部分,加上省略的整数部分1为1.110101,将小数点向右移7位就相当于乘以2的指数次幂,即11101010,换成10进制为234。查看浮点数的内存表示可以用如下程序看:
float a = 234;
char c[4];
memcpy(c, a, sizeof(float));
c中的内容即是a的内存表示。