展开全部
①整型数据相加,系统默认为整型
int a,b,c;
c=a+b;
若int a,b;
float c;
c=a+b;则会产生错误,但visual 6.0 C++系统会给予warning,这种错误会忽略
可以通过强制类型转换符将整型数据相加结果转换为浮点型
Int a,b;
(float)(a+b);
如果是将整型数据相加结果转换为浮点型的话,结果是一定准确的,而且精确到小数点后6位,
②为什么说浮点数不准?
这是因为有效位数的问题,如果用很大的浮点数加上一个很小的浮点数,那么会产生大数吃小数的误差,所以不准
例如:
#include <stdio.h>
void main()
{
float a,b;
a=123456.789e5;
b=a+20;
printf("%f\n",b);
}
结果本应该为12345678920,但由于一个浮点数只能保证有效数字7位,后面的无意义,所以编译后输出可能为:12345678848.000000
int a,b,c;
c=a+b;
若int a,b;
float c;
c=a+b;则会产生错误,但visual 6.0 C++系统会给予warning,这种错误会忽略
可以通过强制类型转换符将整型数据相加结果转换为浮点型
Int a,b;
(float)(a+b);
如果是将整型数据相加结果转换为浮点型的话,结果是一定准确的,而且精确到小数点后6位,
②为什么说浮点数不准?
这是因为有效位数的问题,如果用很大的浮点数加上一个很小的浮点数,那么会产生大数吃小数的误差,所以不准
例如:
#include <stdio.h>
void main()
{
float a,b;
a=123456.789e5;
b=a+20;
printf("%f\n",b);
}
结果本应该为12345678920,但由于一个浮点数只能保证有效数字7位,后面的无意义,所以编译后输出可能为:12345678848.000000
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询