C++:数据类型-实型(8)

本文详细解释了实型(浮点类型)的概念,包括不同类型如float和double的有效范围、内存占用以及科学计数法的表示。作者还展示了如何定义和计算单精度和双精度浮点类型的内存大小,并演示了使用科学计数法的例子。
摘要由CSDN通过智能技术生成

实型就是浮点数类型的数据类型,那什么是浮点类型的呢?一般带有小数点的数就是实型

浮点型的数据也分为不同的占用内存空间大小的浮点型,比如整形,他就有short , int,long,long long 他们都有不同的内存空间占用大小

浮点类型的不同就是分为有效范围不同

数据类型占用情况有效数字范围
float4字节7位有效数字
double8字节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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值