專利名稱:浮點數(shù)冪運算處理方法、裝置和計算機系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及計算機技術(shù)領(lǐng)域,尤其涉及一種浮點數(shù)冪運算處理方法、裝置 和計算機系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)中,計算機通常會進(jìn)行浮點數(shù)的冪運算,浮點數(shù)的冪運算是計算機處理 過程中經(jīng)常會遇到的一類冪運算,其數(shù)學(xué)表達(dá)式可以表示為χ%其中,X為浮點數(shù)變量,在不 同的場景下可以取不同的值,a為浮點數(shù)的指數(shù),且a為常數(shù)。在實際應(yīng)用中,計算機在進(jìn)行浮點數(shù)冪運算時,會調(diào)用庫函數(shù)(pow/powf)來進(jìn)行 計算,pow/powf的功能是用來計算以X為底的y次方值。在進(jìn)行浮點數(shù)的冪運算時,POW可 以表達(dá)為 double pow (double χ, double y),powf 可以表達(dá)為 float powf (float χ, floaty)。在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題調(diào)用庫函數(shù)進(jìn) 行浮點數(shù)冪運算所消耗的計算時間是普通浮點數(shù)乘法運算的幾十倍,如果計算機在計算過 程中需要進(jìn)行大量的浮點數(shù)冪運算,就需要頻繁調(diào)用庫函數(shù)計算浮點數(shù)的冪運算,因此,會 導(dǎo)致計算機的處理效率低下。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種浮點數(shù)冪運算處理方法、裝置和計算機系統(tǒng),可以提高計 算機處理浮點數(shù)冪運算的處理速度。本發(fā)明實施例提供一種浮點數(shù)冪運算處理方法,包括根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),將所述浮點數(shù)X設(shè)置為y 與2n乘積的形式,其中,y的絕對值為大于1小于2的實數(shù),η為大于負(fù)127小于128的整 數(shù);根據(jù)預(yù)先創(chuàng)建的第一預(yù)處理表獲取ya的取值,并根據(jù)第二預(yù)處理表獲取2na的取 值,其中,所述第一預(yù)處理表存儲有f的取值,所述第二預(yù)處理表存儲有2na的取值,a為常 數(shù);根據(jù)所述r的取值和所述2na的取值獲得所述Xa的計算結(jié)果。本發(fā)明實施例提供一種浮點數(shù)冪運算處理裝置,包括設(shè)置模塊,用于根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),將所述浮 點數(shù)X設(shè)置為y與2n乘積的形式,其中,y的絕對值為大于1小于2的實數(shù),η為大于負(fù)127 小于128的整數(shù);查詢模塊,用于根據(jù)預(yù)先創(chuàng)建的第一預(yù)處理表查詢/的取值,并根據(jù)第二預(yù)處理 表查詢2na的取值,其中,所述第一預(yù)處理表存儲有f的取值,所述第二預(yù)處理表存儲有2na 的取值,a為常數(shù);計算模塊,用于根據(jù)所述ya的取值和所述2na的取值獲得所述Xa的計算結(jié)果。
本發(fā)明實施例提供一種計算機系統(tǒng),包括上述浮點數(shù)冪運算處理裝置。本發(fā)明實施例的浮點數(shù)冪運算處理方法、裝置和計算機系統(tǒng),通過建立第一預(yù)處 理表和第二預(yù)處理表,并通過查表方式進(jìn)行浮點數(shù)冪運算,克服了現(xiàn)有技術(shù)中計算機通過 調(diào)用庫函數(shù)計算大量浮點數(shù)冪運算而導(dǎo)致計算機的處理效率低下的缺陷,能夠有效提高計 算機處理浮點數(shù)冪運算的計算效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例的浮點數(shù)冪運算處理方法的流程圖;圖2是本發(fā)明實施例的浮點數(shù)存儲結(jié)構(gòu)的示意圖;圖3是本發(fā)明實施例的浮點數(shù)冪運算處理裝置的示意圖。
具體實施例方式下面結(jié)合附圖和具體實施例進(jìn)一步說明本發(fā)明實施例的技術(shù)方案。根據(jù)本發(fā)明的實施例,提供了一種浮點數(shù)冪運算處理方法,圖1是本發(fā)明實施例 的浮點數(shù)冪運算處理方法的流程圖,如圖1所示,根據(jù)本發(fā)明實施例的浮點數(shù)冪運算處理 方法包括步驟101,根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),將浮點數(shù)X設(shè)置 為y與2n乘積的形式,其中,y的絕對值為大于1小于2的實數(shù),η為大于負(fù)127小于1 的整數(shù);具體地,上述二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu)為士 1. χ與2n的存儲結(jié)構(gòu),即士 1. x*2n 的存儲結(jié)構(gòu),圖2是本發(fā)明實施例的浮點數(shù)存儲結(jié)構(gòu)的示意圖,如圖2所示,在32位系統(tǒng) 上,浮點數(shù)占用32比特(bit)的空間,在存儲浮點數(shù)時,32bit的空間分為三個部分符號 位、指數(shù)位、尾數(shù)位。其中,浮點數(shù)X的士符號存儲在符號位中,例如,0代表正,1代表為負(fù); 浮點數(shù)X的指數(shù)η存儲在指數(shù)位中,可以采用移位存儲的方式進(jìn)行存儲;浮點數(shù)X的尾數(shù)χ 存儲在尾數(shù)位中,其中,χ為大于0小于1的實數(shù)。也就是說,利用二進(jìn)制科學(xué)計數(shù)法存儲 的浮點數(shù),都可以表示為士 1.抖2"的形式,其中,η為大于-127小于128的整數(shù)。需要說明 的是,上述浮點數(shù)為在32bit空間內(nèi)能夠表達(dá)的大小范圍和精度內(nèi)的浮點數(shù)。其中,符號位 可以為1比特,指數(shù)位可以為8比特,尾數(shù)位可以為23比特。在步驟101中,根據(jù)浮點數(shù)士 1. x*2n的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),通過簡單的 位運算即可將任意的浮點數(shù)設(shè)置為下列形式X= 士(1+X)*2n,g卩,根據(jù)X= 士 l.x*2n,可以 將浮點數(shù)X設(shè)置為士(1+x)與2n乘積的形式,令士(1+x) =y,則可以將浮點數(shù)X設(shè)置為與 2n乘積(#2n)的形式,即令X = y*2n。步驟102,根據(jù)預(yù)先創(chuàng)建的第一預(yù)處理表獲取f的取值,并根據(jù)第二預(yù)處理表獲取 2na的取值,其中,第一預(yù)處理表存儲有r的取值,第二預(yù)處理表存儲有2na的取值,a為常 數(shù);
具體地,由于將浮點數(shù)X設(shè)置為了 X = y*2n的形式,因此,在計算Xa時,可以通過 計算Xa = ya*2na來確定Xa的計算結(jié)果。在實際應(yīng)用中,由于y在內(nèi)存中占用23bit,共有223種可能的取值,則r也可以有 Z3種可能的取值;因此,在系統(tǒng)預(yù)處理階段,預(yù)先建立一個第一預(yù)處理表,用來存放ya的223 種可能的取值,第一預(yù)處理表可以以32bit中23bit的尾數(shù)作為索引,通過pow或powf計 算23bit的尾數(shù)所對應(yīng)的f的取值。由于η在內(nèi)存中占用8bit,共有256種可能的取值, 則2na也有256種可能的取值,因此,在系統(tǒng)預(yù)處理階段,還需要再建立一個第二預(yù)處理表, 用來存放2na的256種可能的取值,第二預(yù)處理表以32bit中Sbit指數(shù)作為索引,并通過 pow或powf計算Sbit的指數(shù)所對應(yīng)的2na的取值。步驟103,根據(jù)f的取值和2na的取值獲得Xa的計算結(jié)果。具體地,由于Xa = ya*2na,因此,將f的取值與2na的取值相乘,即可得到Xa的計算 結(jié)果。從上述處理可以看出,通過在系統(tǒng)預(yù)處理階段構(gòu)建第一預(yù)處理表和第二預(yù)處理 表,在系統(tǒng)運行過程中,求Xa的計算過程就變?yōu)閮纱尾楸砗鸵淮胃↑c數(shù)相乘的過程,能夠有 效提高計算機處理浮點數(shù)冪運算的計算效率。需要說明的是,在實際應(yīng)用中,第一預(yù)處理表的長度可以為= 8M,第二預(yù)處理 表的長度可以為256,如果兩個預(yù)處理表中每一個表項占用4個字節(jié),則第一預(yù)處理和第二 預(yù)處理表所占用的空間分別為8M*4 = 32M字節(jié)和IK字節(jié)。顯然,第一預(yù)處理表占用了比 較大的內(nèi)存空間。因此,在實際應(yīng)用中,本發(fā)明實施例可以通過降低精度來節(jié)省空間。具體 地,尾數(shù)位占用23bit,如果舍棄尾數(shù)位的最后!3bit,則第一預(yù)處理表占用的空間降至4*22° =4M,相應(yīng)的,尾數(shù)位表示的尾數(shù)χ的精度則降至2_2° ^ 0. 00000095。依次類推,如果系統(tǒng) 只能為第一預(yù)處理表提供IM的內(nèi)存空間,則尾數(shù)位必須被削減到18位,尾數(shù)位表示的尾數(shù) χ的精度也只能達(dá)到2_18 ^ 0. 0000038。也就是說,第一預(yù)處理表可以存儲有T個f的取 值,其中,ζ為大于0且小于或等于23的整數(shù),在實際應(yīng)用中,ζ的取值可以在精度與內(nèi)存資 源之間權(quán)衡抉擇。通過上述處理,能夠降低第一預(yù)處理表所占用內(nèi)存的空間,并節(jié)省系統(tǒng)的 資源。需要說明的是,本發(fā)明實施例的技術(shù)方案根據(jù)浮點數(shù)在計算機中的存儲規(guī)律,并 通過查表的方式提高了浮點數(shù)冪運算的計算效率。本發(fā)明實施例可以應(yīng)用于計算機需要處 理浮點數(shù)冪運算的各種情況下。特別是計算機在頻繁大量地處理浮點數(shù)冪運算的情況下, 例如,計算機在處理統(tǒng)計分析數(shù)據(jù)時,如果該統(tǒng)計分析數(shù)據(jù)中需要頻繁地進(jìn)行浮點數(shù)的冪 運算,則可以應(yīng)用本發(fā)明實施例的技術(shù)方案進(jìn)行浮點數(shù)的冪運算的處理,可以大幅度地提 高計算機處理該數(shù)據(jù)的效率。根據(jù)本發(fā)明的實施例,提供了一種浮點數(shù)冪運算處理裝置,圖3是本發(fā)明實施例 的浮點數(shù)冪運算處理裝置的示意圖,如圖3所示,根據(jù)本發(fā)明實施例的浮點數(shù)冪運算處理 裝置包括設(shè)置模塊30、查詢模塊32、計算模塊34。下面,對本發(fā)明實施例的上述模塊進(jìn)行 詳細(xì)說明。設(shè)置模塊30,用于根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),將所述 浮點數(shù)X設(shè)置為y與2n乘積的形式,其中,y的絕對值為大于1小于2的實數(shù),η為大于負(fù) 127小于128的整數(shù);
具體地,上述二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu)為士 1. x*2n的存儲結(jié)構(gòu),在32位系統(tǒng) 上,浮點數(shù)占用32bit的空間,在存儲浮點數(shù)時,32bit的空間分為三個部分符號位、指數(shù) 位、尾數(shù)位。其中,浮點數(shù)X的士符號存儲在符號位中,例如,0代表正,1代表為負(fù);浮點數(shù) X的指數(shù)η存儲在指數(shù)位中,可以采用移位存儲的方式進(jìn)行存儲;浮點數(shù)X的尾數(shù)χ存儲在 尾數(shù)位中,其中,χ為大于0小于1的實數(shù)。也就是說,利用二進(jìn)制科學(xué)計數(shù)法存儲的浮點 數(shù),都可以表示為士 1. x*2n的形式,其中,η為大于負(fù)127小于128的整數(shù)。需要說明的是, 上述浮點數(shù)為在32bit空間內(nèi)能夠表達(dá)的大小范圍和精度內(nèi)的浮點數(shù)。浮點數(shù)存儲結(jié)構(gòu)可 以參照圖2進(jìn)行理解。其中,符號位可以為1比特,指數(shù)位可以為8比特,尾數(shù)位可以為23 比特。具體的,設(shè)置模塊30可以包括第一設(shè)置子模塊301以及第二設(shè)置子模塊302,其 中第一設(shè)置子模塊301,用于根據(jù)浮點數(shù)士 1. x*2n的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),通 過簡單的位運算將浮點數(shù)X設(shè)置為下列形式X= 士(l+x)*2n。也就是說,第一設(shè)置子模塊 用于根據(jù)X= 士 l.x*2n,將浮點數(shù)X設(shè)置為X= 士(1+。*2"的形式。第二設(shè)置子模塊302,用于使第一設(shè)置子模塊獲得的士(1+x)等于y,將所述浮點 數(shù)X設(shè)置為y與2n乘積的形式。具體的,可以令士(1+x) =y,將浮點數(shù)X設(shè)置為艸2"的 形式,即X = y*2n。查詢模塊32,用于根據(jù)預(yù)先創(chuàng)建的第一預(yù)處理表查詢ya的取值,并根據(jù)第二預(yù)處 理表查詢2na的取值,其中,第一預(yù)處理表存儲有r的取值,第二預(yù)處理表存儲有2na的取值, a為常數(shù);具體地,由于設(shè)置模塊30將浮點數(shù)X設(shè)置為了 X = y*2n的形式,因此,在計算Xa 時,可以通過計算Xa = ya*2na來確定Xa的計算結(jié)果。在實際應(yīng)用中,y在內(nèi)存中占用23bit,共有223種可能的取值,則r也可以有223 種可能的取值;在系統(tǒng)預(yù)處理階段,可以預(yù)先建立一個第一預(yù)處理表,用來存放ya的滬種 可能的取值,第一預(yù)處理表可以以32bit中23bit的尾數(shù)作為索引,通過pow或powf計算 23bit的尾數(shù)所對應(yīng)的f的取值。η在內(nèi)存中占用8bit,共有256種可能的取值,2na也有 256種可能的取值,在系統(tǒng)預(yù)處理階段,還需要再建立一個第二預(yù)處理表,用來存放2na的 256種可能的取值,第二預(yù)處理表以32bit中Sbit指數(shù)作為索引,并通過pow或powf計算 Sbit的指數(shù)所對應(yīng)的2na的取值。計算模塊34,用于根據(jù)f的取值和2na的取值獲得Xa的計算結(jié)果。具體地,由于 Xa = ya*2na,因此,計算模塊34將f的取值與2na的取值相乘,即可得到Xa的計算結(jié)果。從上述處理可以看出,本發(fā)明實施例通過在系統(tǒng)預(yù)處理階段構(gòu)建第一預(yù)處理表和 第二預(yù)處理表,在系統(tǒng)運行過程中,求Xa的計算過程就變?yōu)閮纱尾楸砗鸵淮胃↑c數(shù)相乘的 過程,能夠有效提高計算機處理浮點數(shù)冪運算的計算效率。進(jìn)一步的,該裝置還可以包括預(yù)設(shè)模塊36,用于預(yù)先設(shè)置第一預(yù)處理表和第二預(yù)處理表,其中,所述第一預(yù)處理 表存儲有f的取值,所述第二預(yù)處理表存儲有2na的取值,a為常數(shù)。具體的,在系統(tǒng)預(yù)處理階段,可以通過預(yù)設(shè)模塊36預(yù)先建立第一預(yù)處理表以及 第二預(yù)處理表,其中,第一預(yù)處理表用來存放ya的滬種可能的取值;第一預(yù)處理表可以以32bit中23bit的尾數(shù)作為索引,通過pow或powf計算23bit的尾數(shù)所對應(yīng)的f的取值。由于η在內(nèi)存中占用8bit,共有256種可能的取值,則2na也有256種可能的取值, 因此,可以通過預(yù)設(shè)模塊36預(yù)先建立第二預(yù)處理表用來存放2na的256種可能的取值,第二 預(yù)處理表可以以32bit中Sbit指數(shù)作為索引,并通過pow或powf計算Sbit的指數(shù)所對應(yīng) 的2na的取值。需要說明的是,在實際應(yīng)用中,第一預(yù)處理表的長度為223 = 8M,第二預(yù)處理表的 長度為256,如果兩個預(yù)處理表中每一個表項占用4個字節(jié),則第一預(yù)處理和第二預(yù)處理表 所占用的空間分別為8M*4 = 32M字節(jié)和IK字節(jié)。顯然,第一預(yù)處理表占用了比較大的內(nèi) 存空間。為了解決上述問題,在實際應(yīng)用中,本發(fā)明實施例通過降低精度來節(jié)省空間。具體 地,尾數(shù)位占用23bit,如果舍棄尾數(shù)位的最后!3bit,則第一預(yù)處理表占用的空間降至4*22° =4M,相應(yīng)的,尾數(shù)位表示的尾數(shù)χ的精度則降至2_2° ^ 0. 00000095。依次類推,如果系統(tǒng) 只能為第一預(yù)處理表提供IM的內(nèi)存空間,則尾數(shù)位必須被削減到18位,尾數(shù)位表示的尾數(shù) χ的精度也只能達(dá)到2_18 ^ 0. 0000038。也就是說,第一預(yù)處理表可以存儲有T個f的取 值,其中,ζ為大于0且小于或等于23的整數(shù),在實際應(yīng)用中,ζ的取值可以在精度與內(nèi)存資 源之間權(quán)衡抉擇。通過上述處理,能夠降低第一預(yù)處理表所占用內(nèi)存的空間,并節(jié)省系統(tǒng)的資源。需要說明的是,本發(fā)明實施例可以應(yīng)用于計算機需要處理浮點數(shù)冪運算的各種情 況下。特別是計算機在頻繁大量地處理浮點數(shù)冪運算的情況下,例如,計算機在處理統(tǒng)計 分析數(shù)據(jù)時,如果該統(tǒng)計分析數(shù)據(jù)中需要頻繁地進(jìn)行浮點數(shù)的冪運算,則可以應(yīng)用本發(fā)明 實施例的技術(shù)方案進(jìn)行浮點數(shù)的冪運算的處理,可以大幅度地提高計算機處理該數(shù)據(jù)的效 率。根據(jù)本發(fā)明的實施例,提供了一種計算機系統(tǒng),該計算機系統(tǒng)包括浮點數(shù)冪運算 處理裝置,該浮點數(shù)冪運算處理裝置可以采用上述圖3的實施例中的浮點數(shù)冪運算處理裝 置,具體可以參見上述裝置的實施例,此處不再贅述。如上述實施例所述,通過建立第一預(yù)處理表和第二預(yù)處理表,并通過查表方式進(jìn) 行浮點數(shù)冪運算,克服了現(xiàn)有計算機系統(tǒng)中通過調(diào)用庫函數(shù)計算大量浮點數(shù)冪運算而導(dǎo)致 計算機的處理效率低下的缺陷,能夠有效提高計算機系統(tǒng)處理浮點數(shù)冪運算的計算效率。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可 以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單 元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其 中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性 的勞動的情況下,即可以理解并實施。結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的 軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器 (ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或任意其它 形式的存儲介質(zhì)中。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精 神和范圍。
權(quán)利要求
1.一種浮點數(shù)冪運算處理方法,其特征在于,包括根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),將所述浮點數(shù)X設(shè)置為y與2n 乘積的形式,其中,y的絕對值為大于1小于2的實數(shù),η為大于負(fù)127小于128的整數(shù);根據(jù)預(yù)先創(chuàng)建的第一預(yù)處理表獲取f的取值,并根據(jù)第二預(yù)處理表獲取2na的取值,其 中,所述第一預(yù)處理表存儲有f的取值,所述第二預(yù)處理表存儲有2na的取值,a為常數(shù);根據(jù)所述f的取值和所述2na的取值獲得所述Xa的計算結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu)包括 士 1. χ與2n乘積的存儲結(jié)構(gòu),則所述X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu)包括X等于 士 1. χ與2n乘積,其中,所述浮點數(shù)X的士符號存儲在符號位中,所述浮點數(shù)X的指數(shù)η存 儲在指數(shù)位中、所述浮點數(shù)X的尾數(shù)χ存儲在尾數(shù)位中,其中,χ為大于0小于1的實數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué) 計數(shù)法存儲結(jié)構(gòu),將所述浮點數(shù)X設(shè)置為數(shù)據(jù)y與2"乘積的形式包括根據(jù)X等于士 1.x與2"的乘積,將所述浮點數(shù)X設(shè)置為士(1+x)與2n乘積的形式;使士(1+χ)等于y,將所述浮點數(shù)X設(shè)置為y與2n乘積的形式。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,根據(jù)所述f的取值和所述2na的取值獲得 所述Xa的計算結(jié)果包括將所述f的取值與所述2na的取值相乘,得到所述Xa的計算結(jié)果。
5.一種浮點數(shù)冪運算處理裝置,其特征在于,包括設(shè)置模塊,用于根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),將所述浮點數(shù)X 設(shè)置為y與2n乘積的形式,其中,y的絕對值為大于1小于2的實數(shù),η為大于-127小于 128的整數(shù);查詢模塊,用于根據(jù)預(yù)先創(chuàng)建的第一預(yù)處理表查詢ya的取值,并根據(jù)第二預(yù)處理表查 詢2na的取值,其中,所述第一預(yù)處理表存儲有f的取值,所述第二預(yù)處理表存儲有2na的取 值,a為常數(shù);計算模塊,用于根據(jù)所述f的取值和所述2na的取值獲得所述Xa的計算結(jié)果。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu)包括 士 1. χ與2n乘積的存儲結(jié)構(gòu),則所述X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu)包括X等于 士 1. χ與2n乘積,其中,所述浮點數(shù)X的士符號存儲在符號位中,所述浮點數(shù)X的指數(shù)η存 儲在指數(shù)位中、所述浮點數(shù)X的尾數(shù)χ存儲在尾數(shù)位中,其中,χ為大于0小于1的實數(shù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述設(shè)置模塊包括第一設(shè)置子模塊,用于根據(jù)X等于士 1. χ與2η的乘積,將所述浮點數(shù)X設(shè)置為士(1+χ) 與2η乘積的形式;第二設(shè)置子模塊,用于使士(1+χ)等于y,將所述浮點數(shù)X設(shè)置為y與2η乘積的形式。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述計算模塊具體用于將所述ya的取值 與所述2na的取值相乘,獲得所述Xa的計算結(jié)果。
9.根據(jù)權(quán)利要求5-8任意一項所述的裝置,其特征在于,還包括預(yù)設(shè)模塊,用于預(yù)先設(shè)置第一預(yù)處理表和第二預(yù)處理表,其中,所述第一預(yù)處理表存儲 有ya的取值,所述第二預(yù)處理表存儲有2na的取值,a為常數(shù)。
10.一種計算機系統(tǒng),其特征在于,包括權(quán)利要求5至9任一所述的浮點數(shù)冪運算處理裝置。
全文摘要
本發(fā)明提供一種浮點數(shù)冪運算處理方法、裝置和計算機系統(tǒng),其中,該方法包括根據(jù)浮點數(shù)X在內(nèi)存中的二進(jìn)制科學(xué)計數(shù)法存儲結(jié)構(gòu),將所述浮點數(shù)X設(shè)置為y與2n乘積的形式,其中,y的絕對值為大于1小于2的實數(shù),n為大于負(fù)127小于128的整數(shù);根據(jù)預(yù)先創(chuàng)建的第一預(yù)處理表獲取ya的取值,并根據(jù)第二預(yù)處理表獲取2na的取值,其中,所述第一預(yù)處理表存儲有ya的取值,所述第二預(yù)處理表存儲有2na的取值,a為常數(shù);根據(jù)所述ya的取值和所述2na的取值獲得所述Xa的計算結(jié)果。通過上述處理,能夠有效提高計算機處理浮點數(shù)冪運算的計算效率。
文檔編號G06F7/57GK102135870SQ201010104098
公開日2011年7月27日 申請日期2010年1月27日 優(yōu)先權(quán)日2010年1月27日
發(fā)明者李有永 申請人:成都市華為賽門鐵克科技有限公司