双精度浮点数(有问有答:什么是单精度双精度浮点?)

双精度浮点数

熟悉本站的读者应该经常会在我们的新闻、评测中看到如下的几个名词或单位:单精度浮点、FP32、双精度浮点、FP64、FLOPS……那么浮点究竟是什么,它的单双精度之间有什么区别呢?简单来说,浮点数是计算机用来表示实数的一种数字,它基本上就是用来表示小数的,名字由来是它可以在一定范围内浮动的小数点。目前的浮点数是一种通用标准格式,处理器通常都会遵从IEEE 754这个规定了浮点数以及浮点运算法则的标准来定义自己的浮点。单精度浮点数是指位长为32-bit的浮点数,它由1位表示正负的符号位、8位指数位和23位有效数字位组成。双精度顾名思义就是64-bit的,由于位数不同,它们可以表示数字的范围大小也不同,双精度除了在表示数字上可以拥有更大的范围以外,还可以在表示小数时拥有更高的精度。不过在大多数人的日常应用中并不需要双精度浮点,甚至在某些应用中单精度都是“多余”的,因此硬件开发商将单精度的位数砍半,推出了“半精度”,也就是位数为16-bit的浮点数。因为有小数部分,它的动态范围要比16位整数更高,而占用的空间比单精度浮点要少,在普通的游戏图形计算中它有很大的优势,另外它在机器学习领域中还有一个名为bfloat16的变种,被很多AI加速处理器所支持。我们通常使用FLOPS(Floating Point Operations per Second,每秒浮点运算次数)这个单位来衡量硬件设备的浮点计算能力,不过它一般是通过理论计算得到的,所以它仅能在一定程度上体现设备的浮点运算能力,而不是真实水平,也就只能够用作参考。但如果是针对同一架构,那么很明显当然是拥有更高浮点计算能力的更强了。超能网公众号扫码关注我们,浏览热门硬件评测随时查看最新天梯榜

双精度浮点数相关文章

版权声明