出版時間:2008-8 出版社:機械工業(yè)出版社 作者:劉純根 頁數(shù):301 字數(shù):456000
Tag標簽:無
內(nèi)容概要
本書介紹了基本計算算法的實現(xiàn)和代碼分析,主要內(nèi)容有:C++與通用編程、大整數(shù)運算、超高精度的定點和浮點仿真庫、x87 FPU編程、反匯編vC6浮點庫和常見浮點編程技巧。其中,超高精度的定點和浮點仿真庫是作者為進行科掌計算而開發(fā)的,具有較大的參考價值。
作者簡介
劉純根,1995年9月畢業(yè)干中國人民解放軍國防科學(xué)技術(shù)大學(xué)自動控制系,獲自動控制工學(xué)學(xué)士學(xué)位,1998年4月畢業(yè)于同一院校航天動力學(xué)專業(yè),獲工學(xué)碩士學(xué)位。后進入中國酒泉衛(wèi)星發(fā)射中心技術(shù)部工作,主要從事導(dǎo)彈航天測試發(fā)射總體技術(shù)研究,涉及彈道與軌道力學(xué)仿真、計算編程、
書籍目錄
出版說明前言 第1章 引論 1.1 計算有什么用? 1.1.1 基礎(chǔ)科學(xué) 1.1.2 應(yīng)用科學(xué) 1.1.3 工程項目 1.1.4 日常生活 1.2 超高精度計算有什么用? 1.3 計算編程概述 1.4 一些縮寫的解釋第1部分 原理與實現(xiàn):通用仿真庫 第2章 代碼概述 2.1 基本內(nèi)容 2.2 使用C++? 2.2.1 C還是C++? 2.2.2 c++與通用編程 2.3 C++代碼的設(shè)計 2.3.1 使用模板 2.3.2 操作符重載 2.3.3 選擇接口函數(shù) 2.3.4 參數(shù)傳遞 2.3.5 返回值處理 2.3.6 計算異常與診斷信息 2.3.7 內(nèi)存布局 2.4 計算代碼的測試 2.4.1 隨機輸入測試 2.4.2 特殊值測試 2.4.3 恒等式測試 2.5 代碼的使用 2.6 偽碼 第3章 通用整型運算 3.1 基本概念 3.1.1 記數(shù)法與數(shù)制 3.1.2 整型編碼 3.1.3 編碼位數(shù)換算 3.2 通用整型編碼 3.2.1 數(shù)據(jù)定義 3.2.2 JYPE的選取 3.3 通用整型四則運算 3.3.1 加法 3.3.2 減法 3.3.3 乘法 3.3.4 除法 3.4 優(yōu)化 3.4.1 加法 3.4.2 減法 3.4.3 乘法 3.4.4 除法 3.5 符號處理 3.5.1 原碼,還是補碼? 3.5.2 有符號通用整型的表示 3.5.3 符號操作 3.6 輸入輸出函數(shù) 3.6.1 輸入函數(shù) 3.6.2 輸出函數(shù) 3.7 代碼使用 第4章 通用定點運算 4.1 基本概念 4.1.1 記數(shù)法 4.1.2 誤差 4.1.3 舍入 4.1.4 有效數(shù)字 4.2 通用定點數(shù)編碼 4.2.1 數(shù)據(jù)定義 4.2.2 符號處理 4.3 四則運算 4.3.1 加法和減法 4.3.2 乘法 4.3.3 除法 4.4 輔助操作 4.5 代碼使用:計算派 第5章 浮點數(shù)與IEEE浮點標準 第6章 通用浮點運算 第7章 通用基本函數(shù)庫第2部分 應(yīng)用:x87FPU編程與VC6浮點庫 第8章 x87FPU編程 第9章 編寫自己的浮點庫 第10章 如何反匯編代碼 第11章 VC6浮點函數(shù)庫 第12章 異常處理機制 第13章 浮點編程中的常見技巧附錄參考文獻
章節(jié)摘錄
第1部分 原理與實現(xiàn):通用仿真庫第2章 代碼概述2.3.6 計算異常與診斷信息在計算過程中,有時會出現(xiàn)一些事件使計算無法進行下去或者計算錯誤,例如在除法中遇到被零除、計算結(jié)果超出表示范圍等,這些事件被稱為計算異常(注意,這里的異常僅指溢出之類與計算有關(guān)的異常,不是指非法指針訪問之類的系統(tǒng)異常)。顯然,一個穩(wěn)定可靠的,計算系統(tǒng)必須處理計算異常,而如何處理計算異常的關(guān)鍵問題是你以什么觀點看待它們:(1)一般很少發(fā)生,即使發(fā)生了,代碼的用戶(更高層次的開發(fā)員)應(yīng)該知道并處理它。隨這種觀點而來的自然是最簡單的處理方式,即忽略它。(2)是一種嚴重的錯誤,計算需要立刻停止以進行錯誤處理。在c++中,拋出異常是非常適合這種觀點的處理方式。(3)可能造成錯誤,但沒有嚴重到需要停止計算的地步。當異常發(fā)生時,計算應(yīng)當繼續(xù)進行,但返回結(jié)果的同時也發(fā)出警告。方式(1)是最常見也最容易實現(xiàn)的方式,但它給后續(xù)的開發(fā)帶來不便。高層開發(fā)員可能需要編寫計算異常的檢測代碼。通常,檢測代碼的層次越高,效率就越低,編程越困難。方式(2)過于敏感,如果某些用戶并不關(guān)心計算異常,沒有編寫相應(yīng)的計算異常處理代碼,那么這個拋出的異常將破壞程序的流程,通常會導(dǎo)致程序終止。另外,編寫異常處理代碼也會提高計算代碼在組織或閱讀上的難度。方式(3)比較折中,而且在需要時,可以方便地轉(zhuǎn)換為方式(1)或方式(2)。例如,如果你不關(guān)心,那么簡單地忽略警告即可;如果你極其關(guān)切,那么可以在得到警告時再拋出異常。本書代碼就使用了方式(3),而這意味著除了返回一個值之外,還需要設(shè)置一些診斷信息供用戶查詢,以保證用戶可以檢查計算結(jié)果。信息均存在維護的問題。系統(tǒng)提供診斷信息的目的,是為了在出錯時提示用戶錯誤所在,而什么時候進行檢測則是用戶決定的,系統(tǒng)無法確定,故一般系統(tǒng)要保留相關(guān)信息以待用戶提取,直到有新信息產(chǎn)生時,才會明確清除舊信息。這種特性使得診斷信息的維護有點困難。如果用戶得到了診斷信息,卻不知道信息是當前產(chǎn)生的還是以前遺留的,那么這些信息除了使他困惑之外還能有什么用處呢?有兩種維護方式可以避免這種局面:一是在每個接口函數(shù)中進行維護,即在每個接口函數(shù)的入口處明確清除以前遺留的信息。這樣處理以后,用戶每次得到的信息總是最新的(Win32 API就是這樣處理的)。
編輯推薦
《浮點計算編程原理、實現(xiàn)與應(yīng)用》主要介紹基本計算算法的實現(xiàn)和代碼分析,涉及任意長的整數(shù)計算、任意范圍和精度的實數(shù)計算(包括定點運算和浮點運算)、常見數(shù)學(xué)函數(shù)的實現(xiàn)和Visual C++6.0(簡稱VC6)浮點庫C形式的反匯編代碼分析。全書分兩個部分:第一部分講述計算編程的基本原理與算法。第二部分講述Intel公司的x87 FPU與Microsoft公司的VC6浮點庫。最后簡要介紹了x87指令集和《浮點計算編程原理、實現(xiàn)與應(yīng)用》的源碼。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
浮點計算編程原理、實現(xiàn)與應(yīng)用 PDF格式下載