c语言中使用float定义单精度类型变量,第3章 变量和数据类型 5、C语言中的浮点数(float,double)... |
您所在的位置:网站首页 › double类型变量占据的存储空间与long类型一样 › c语言中使用float定义单精度类型变量,第3章 变量和数据类型 5、C语言中的浮点数(float,double)... |
小数也称实数或 除了十进制形式,也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小数都可以用指数形式来表示。 C语言中的小数也有这两种表示形式。在书写时,十进制形式和数学中的一样,指数形式有所差异。 在C语言中小数的指数形式为: aEn 或 aen a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或e是固定的字符,其值为 a×10n。例如: 2.1E5 = 2.1×105,其中2.1是尾数,5是指数。 3.7E-2 = 3.7×10-2,其中3.7是尾数,-2 是指数。 0.5E7 = 0.5×107,其中0.5是尾数,7是指数。 C语言中小数的数据类型为 10 是固定的,不需要在内存中体现出来。正负号、指数(n)、尾数(a) 是变化的,需要占用内存空间来表示。 float、double 在内存中的形式如下所示: 输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,如下所示: #include #include int main() { float a=128.101; float b=0.302f; float c=1.23002398f; double d=123; double e = 78.429; printf("a=%f \nb=%f \nc=%f \nd=%lf \ne=%lf\n", a, b, c, d, e); system("pause"); return 0; } #include #include int main() { float a=128.101; float b=0.302f; float c=1.23002398f; double d=123; double e = 78.429; printf("a=%f \nb=%f \nc=%f \nd=%lf \ne=%lf\n", a, b, c, d, e); system("pause"); return 0; } 运行结果: a=128.100998 b=0.302000 c=1.230024 d=123.000000 e=78.429000 对代码的说明: 1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。 2) 将整数赋值给 float 变量时会转换为小数。 3) 小数默认为 double 类型,加上后缀f才是float类型。 4) 由于内存有限,小数的精度受限,所以输出 a 时只能获得一个近似数。这点我们将在《C语言float、double的内存表示》中重点讲解。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |