实型就是浮点数类型的数据类型,那什么是浮点类型的呢?一般带有小数点的数就是实型
浮点型的数据也分为不同的占用内存空间大小的浮点型,比如整形,他就有short , int,long,long long 他们都有不同的内存空间占用大小
浮点类型的不同就是分为有效范围不同
数据类型 | 占用情况 | 有效数字范围 |
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
大家可能又有疑惑了,什么是有效数字呢,比如3.14 那么他就是3位有效数字,31.415那么就是5位有效数字,有效数字是包括前面整数的个数加上小数点后面的个数
定义实型
我们定义的办法依旧和整数一样,但是我们把鼠标指针放到3.14这个数上
可以看到他是一个double的类型,因为他是double类型的数据,当赋值给float的时候,还需要做一次转换,那么怎么可以不转换,直接定义一个float类型的数据呢
直接在数值后面加个f就行了
接下来我就直接写一个定实型的数据
#include<iostream>
using namespace std;
int main()
{
// 1.定义单精度浮点
// 2.定义双精度浮点
float f1 = 3.14f;
double d1 = 3.14;
cout << "f1 = " << f1 << endl;
cout << "d1 = " << d1 << endl;
system("pause");
return 0;
}
可以看到他俩都可以进行输出,我现在将他们改为3.1415926
可以看到
他们只能正常的输出到第六位,这个是c++默认是这样的,可以让他们输出更多位,但是对于当前来说比较超纲了,后期会有详细的讲解
计算实型大小
使用上一章讲的sizeof就可以进行计算大小
#include<iostream>
using namespace std;
int main()
{
// 1.定义单精度浮点
// 2.定义双精度浮点
float f1 = 3.1415926f;
double d1 = 3.1415926;
cout << "f1 = " << f1 << endl;
cout << "d1 = " << d1 << endl;
cout << "实型(float)占用内存大小为:" << sizeof(float) << endl;
cout << "实型(double)占用内存大小为:" << sizeof(double) << endl;
cout << "实型的变量(f1)占用内存大小为:" << sizeof(f1) << endl;
cout << "实型的变量(d1)占用内存大小为:" << sizeof(d1) << endl;
system("pause");
return 0;
}
可以看到确实和上面讲的一样
科学计算
#include<iostream>
using namespace std;
int main()
{
// 1.定义单精度浮点
// 2.定义双精度浮点
float f1 = 3.1415926f;
double d1 = 3.1415926;
cout << "f1 = " << f1 << endl;
cout << "d1 = " << d1 << endl;
cout << "实型(float)占用内存大小为:" << sizeof(float) << endl; // 4
cout << "实型(double)占用内存大小为:" << sizeof(double) << endl; // 8
cout << "实型的变量(f1)占用内存大小为:" << sizeof(f1) << endl; // 4
cout << "实型的变量(d1)占用内存大小为:" << sizeof(d1) << endl; // 8
// 科学计算
float f2 = 3e2; // 意为:3*10^2
float f3 = 3e-2; // 意为:3*0.1^2
cout << f2 << endl;
cout << f3 << endl;
system("pause");
return 0;
}
float f2 = 3e2; // 意为:3*10^2
float f3 = 3e-2; // 意为:3*0.1^2
float f2 = 4e2; // 意为:4*10^2
float f3 = 5e-3; // 意为:5*0.1^3