定点、浮点运算
原始来源:https://zhuanlan.zhihu.com/p/528960395
1、定点运算:
“定点数”就是“点”不动的数,即“小数点”不变的数。整数的小数点表示在最后一位数字的后面,而小数的小数点标识在真值的符号位后面。如图所示:
对于定点数而言,由于其小数点位置不变,因此当处理非纯小数(整数部分是零的小数是纯小数)的时候,需要乘上一个比例因子,以防止溢出。那么要是小数点可以移动那就好办了,这种数我们称为浮点数。
2、浮点运算
浮点运算就是实数运算,主要运用在科学和多媒体中,可以理解为小数点可移动的运算方式。
2.1 单精度浮点运算
单精度浮点数也就是float,用4个字节来存储的,单精度小数点后面共能精确到7位小数。单精度浮点运算应用在图形应用程序graphics application,图像处理image processing,机器学习。大部分人工智能训练任务以单精度浮点数或半精度浮点数为主,推理以Int8为主。
2.2 双精度浮点运算
双精度double是用8个字节来存储的,双精度可精确到15位小数。双精度浮点运算主要用于超算领域。
实际应用中,单精度和双精度浮点运算是综合使用的,超算会根据需要分配单双精度,模拟(化学、物理、金融),数值分析等科学计算。