半精度浮点数

✍ dations ◷ 2025-11-08 21:31:46 #半精度浮点数

半精度浮点数 是一种被计算机使用的二进制浮点数据类型。半精度浮点数使用2个字节(16位)来存储。

在IEEE 754-2008中,它被称作binary16。这种数据类型只适合存储对精度要求不高的数字,不适合用来计算。

半精度浮点数是一种较新的浮点类型。 英伟达在2002年初发布的Cg语言中称它作 half 类型,并首次在2002年末发布的GeForce FX中实现。ILM 当时正在寻找一种拥有高动态范围,且不需过多消耗硬盘和内存,并且能像单精度浮点数和双精度浮点数那样被用来进行浮点计算的图像格式。由SGI的John Airey领导的硬件加速可编程着色小组在1997年发明了作为'bali'设计工作的一部分的s10e5数据类型,曾在SIGGRAPH 2000年的论文中介绍过。(见章节 4.3)并且在美国专利7518615中被进一步记录。

半精度浮点数可在OpenEXR, JPEG XR, OpenGL, Cg语言、D3DX等计算机图形环境中使用。其与8位或16位整数相比具有动态范围高的优点,可以使高对比度图片中更多细节得以保留。与单精度浮点数相比,它的优点是只需要一半的存储空间和带宽(但是会牺牲精度和数值范围)。

IEEE 754 标准指定了一个 binary16 要有如下的格式:

按如下顺序排列:

IEEE 754r Half Floating Point Format.svg

除非指数位全是0,否则就会假定隐藏的起始位是1。因此只有10位尾数在内存中被显示出来,而总精度是11位。据IEEE 754的说法,虽然尾数只有10位,但是尾数精度是11位的(log10(211) ≈ 3.311 十进制数).

0 01111 0000000000 = 10 01111 0000000001 = 1 + 2−10 = 1.0009765625 (1之后的最接近的数)1 10000 0000000000 = −20 11110 1111111111 = 65504  (max half precision)0 00001 0000000000 = 2−14 ≈ 6.10352 × 10−5 (最小正指数)0 00000 1111111111 = 2−14 - 2−24 ≈ 6.09756 × 10−5 (最大尾数)0 00000 0000000001 = 2−24 ≈ 5.96046 × 10−8 (最小正尾数)0 00000 0000000000 = 01 00000 0000000000 = −00 11111 0000000000 = infinity1 11111 0000000000 = −infinity0 01101 0101010101 = 0.333251953125 ≈ 1/3

由于尾数的位数是奇数,所以默认情况下,1/3 这类的数会像双精度浮点数一样四舍五入。

相关

  • 银耳目见内文银耳目(学名:Tremellales),是真菌下属担子菌门银耳纲的一目。大部分腐生于木材,少数寄生于其他真菌。主要生长在热带、亚热带地区。担子具直或斜的隔膜,
  • 羊毛甾醇羊毛甾醇(Lanosterol)是一种甾体化合物,分子式C30H50O,动物和真菌合成类固醇的过程中均经过此化合物。而植物的甾体合成则通过环阿屯醇。酶催化下,角鲨烯闭环形成羊毛甾醇,该过程
  • 新亚历山大图书馆新亚历山大图书馆(拉丁语:Bibliotheca Alexandrina;阿拉伯语:مكتبة الإسكندرية‎,转写:Maktabah al-Iskandarīyah)是位于埃及亚历山大的图书馆,2002年启用,是地中海
  • 赵州桥坐标:37°43′12.6″N 114°45′47.7″E / 37.720167°N 114.763250°E / 37.720167; 114.763250 赵州桥又名安济桥,是位于中国河北省赵县城南五里洨河上的一座石拱桥,当地人称
  • 喀喇沁喀喇沁部(蒙古语:.mw-parser-output .font-mong{font-family:"Menk Hawang Tig","Menk Qagan Tig","Menk Garqag Tig","Menk Har_a Tig","Menk Scnin Tig","Oyun Gurban Ulus
  • 马德拉旗帜马德拉旗帜是葡萄牙的西部岛屿马德拉自治区的区旗,是蓝-黄-蓝竖排的三色旗,中间为红边的白色十字架。是来自目前已经解散的,曾经想争取马德拉独立的“马德拉自治区解放阵线”的
  • 贾斯丹贾斯丹(Jasdan),是印度古吉拉特邦Rajkot县的一个城镇。总人口39041(2001年)。该地2001年总人口39041人,其中男性20426人,女性18615人;0—6岁人口5897人,其中男3201人,女2696人;识字率67
  • 狮子王3:Hakuna Matata《狮子王3:Hakuna Matata》(英语:)是一部由美国的华特迪士尼制作、于2004年2月10日以录像带首映方式发行的电脑动画电影。它是1994年的电影《狮子王》的平行续集。这部电影的双
  • 库莱布拉岛库莱布拉岛(西班牙语:Isla de Culebra)是波多黎各的岛屿,位于加勒比海,属于小安地列斯群岛的一部分,面积30.1平方公里,主要经济活动是旅游业,岛上有机场设施,2000年人口为1,818人。
  • 杨文琦杨文琦(1605年-1648年6月22日),字瑶仲,号楚石,浙江宁波府鄞县人。明末抗清人物,官拜监军推官。“宁波五君子”之一,又与弟杨文琮、杨文瓒、杨文球皆为明朝而死,被称为“甬上杨氏四忠”。“五君子”曾联合部分反正清军,密谋光复浙东,因人告密而失败,杨文琦等皆被捕处决。鲁监国追赠兵科都给事中,乾隆时,清廷令入祀忠义祠。杨文琦出身于浙江鄞县名门杨氏,是嘉靖年间太仆寺卿杨美益的玄孙。其先世有弘治、正德年间的名臣杨守陈、杨守随、杨守阯等。杨文琦初入县学,为生员,他虽然出身门阀世家,却喜欢结交江湖上的豪杰之士,