標題: 浮點運算:每個計算機學家都需要知道什麼 [打印本頁]


浮点运算:每个计算机学家都需要知道什么.pdf (1.39 MB, 下載次數: 118)

本附錄是對論文《What Every Computer Scientist Should Know About Floating-Point Arithmetic》(作者:David Goldberg,發表於 1991 年 3 月號的《Computing Surveys》)進行編輯之後的重印版本。版權所有 1991, Association for Computing Machinery, Inc.,經許可重印。

計算機系統的生成器經常需要有關浮點運算的信息。但是,有關這方面的詳細信息來源非常少。有關此主題的書目非常少,而且其中的一部《Floating-Point Computation》(作者:Pat Sterbenz)現已絕版。本文提供的教程包含與系統構建直接相關的浮點運算(以下簡稱為浮點)信息。它由三節組成(這三節並不完全相關)。第一節第 2 頁的“舍入誤差”討論對加、減、乘、除基本運算使用不同舍入策略的含義。它還包含有關衡量舍入誤差的兩種方法 ulp 和相對誤差的背景信息。第二節討論 IEEE 浮點標準,該標準正被商業硬件制造商迅速接受。IEEE 標準中包括基本運算的舍入方法。對標準的討論借助了第 2 頁的“舍入誤差”部分中的內容。第三節討論浮點與計算機系統各個設計方面之間的關聯。主題包括指令集設計、優化編譯器和異常處理。

作者已盡力避免在不給出正當理由的情況下來聲明浮點,這主要是因為證明將產生較為復雜的基本計算。對於那些不屬於文章主旨的說明,已將其歸納到名為“詳細信息”的章節中,您可以視實際情況選擇跳過此節。另外,此節還包含了許多定理的證明。每個證明的結尾處均標記有符號❚。如果未提供證明,❚將緊跟在定理聲明之後。