摘要: 在《程序员面试宝典》上看到printf的一道题,挺有意思,记录一下。floatvalue=1.0;printf("value_int = %d\n",value);printf("value_float = %f\n", value);应该输出什么?乍看这个题,很简单,浮点数1.0在内存中的存储形式是0x3f800000。float型在内存中占4Byte, int型也占4字节,按说就直接输出0x3f800000的十进制形式就可以呗。谁知道一运行大跌眼镜,打印信息:value_int = 0value_float = 1.0怎么回事?使用gcc -S的参数 阅读全文
posted @ 2012-04-21 21:28 aitao 阅读(10383) 评论(0) 推荐(0) 编辑
摘要: IEEE标准:http://www.cnblogs.com/kingwolfofsky/archive/2011/07/21/2112299.html直观表示:http://blog.csdn.net/pisheng/article/details/6191521深入理解:(定点数转换)http://blog.csdn.net/ganxingming/article/details/1361697 阅读全文
posted @ 2012-04-21 21:17 aitao 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/motadou/archive/2009/01/17/1558438.html1 -- 结构体数据成员对齐的意义许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这... 阅读全文
posted @ 2012-04-21 10:40 aitao 阅读(9312) 评论(1) 推荐(0) 编辑