C程序设计(第四版) 谭浩强 著
1:在该书P50浮点型数据中这样写道:在指数形式的多种表示方式中把小数部分中
小数点前的数字为0、小数点后第1位数字不为0的表示形式称为
规范化的指数形式,如0.314159*10^1就是3.14159的规范化的指数形式。一个实数只有一个规范化的指数形式,在程序以指数形式输出一个实数时,必然以规范化的指数形式输出,如:0.314159e001。
接着又讲到:编译系统为每一个float型变量分配4个字节,数值以规范化的指数形式存放在存储单元中。
2:而该书P72在讲e格式符时这样写道:用格式声明%e指定以指数形式输出实数。数值按
标准化指数形式输出(即
小数点前必须有而且只有1位非零数字)。例如:
printf("%e",123.456);
输出如下:
1.234560e+002 //本人在vc6.0中试了一下,结果也是这样
那么问题来了,这两种不矛盾吗?感觉有种是错的,请大神们指教,谢谢!