浮点型和类型转化

 2023-03-30 10:27:24  阅读 0

在平时生活中除了整数,我们还经常会用到小数,在C++中小数类型又叫做实数类型浮点数类型

在C++中浮点数类型分为两种,floatdouble,前面一种为单精度,后面一种为双精度,此二者的区别在于可以计算的数据的大小范围,正常情况下double能够处理的数据相对更多,但是占用的内存空间更大,读者可以依据自身需求进行选择。

 

刚刚了解了实数的数据类型,但是如果我们将浮点型的数字赋值给整型就会出现精度的丢失如图

 

#include <iostream>
using namespace std;
int main(){
	double a = 1.3;
	int b = a;
	cout << a << endl;
	cout << b << endl;
	return 0;
}

 

 

 

在上图中,将float类型的a进行输出时,显示的结果为小数,但是将a的值赋值给int类型的b时,b里面存储的值变为1

这说明当小数转化为整数的时候,编译器会自动将类型进行转换,在这个例子中,实数被转换为了整数,如果我们再使用这个整数就会造成数据产生丢失,对最后的结果造成影响。因此,在编写程序时要时刻注意精度丢失的问题(除非这种精度丢失就是自己想要的效果)。

当然,如果时将int类型的数据转换为float类型,那么编译器会自动在整数后面添加上小数点和0以保证其大小不变。

 

除了以上例子,若是出现1+1.2这种情况,编译器就会自动将数据范围相对较小的1转换为浮点型进行计算,再将最后的结果转换为1.2的类型即浮点型进行赋值

上一篇: 整型和变量
下一篇: 顺序程序设计
标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码