double和float的区别保留小数


1、定点数与运算:

定点数是一种小数点位置固定的数。整数部分的小数点位于最后一位数字的后面,而小数部分的小数点则位于真实值的符号位之后。对于定点数而言,由于其小数点位置固定不变,因此在进行非纯小数的处理时,需要乘以一个比例因子,以避免数据溢出。而如果小数点可以移动,则称为浮点数。

浮点数是一种可以动态调整小数点位置的数,适用于科学和多媒体等领域的实数运算。

2、浮点运算概述:

浮点运算是处理浮点数的数算,广泛应用于科学和工程领域。它可以让小数点移动,以便处理更大或更小的数值范围。

2.1 单精度浮点运算:

单精度浮点数也称为float,用4个字节的存储空间来表示。它可以精确到小数点后7位。单精度浮点运算常用于图形应用程序、图像处理以及机器学习等领域。在人工智能训练中,单精度浮点数或半精度浮点数占据主导地位,而在推理阶段则主要使用Int8。

2.2 双精度浮点运算:

双精度浮点数double使用8个字节的存储空间,可以精确到小数点后15位。双精度浮点运算主要用于超级计算机领域,进行大规模的科学计算,如模拟(化学、物理、金融)和数值分析等。

在实际应用中,单精度和双精度浮点运算是结合使用的。超级计算机根据需求分配单精度和双精度的运算资源,以进行更高效的计算。