新四季網

一種處理數據寬度的方法及其應用的製作方法

2023-10-29 12:33:47

專利名稱:一種處理數據寬度的方法及其應用的製作方法
技術領域:
本發明涉及計算機技術領域,尤其涉及計算機數據處理技術。
背景技術:
在軟體中或DSP中進行數據處理時,會遇到所用的數據寬度超過了它們實際所能表達的範圍,比如軟體或DSP只能支持最寬32比特的數據,但所處理的數據寬度為64比特甚至更寬,在用軟體或DSP來驗證IC設計時就可能遇到這種情況。
在軟體中或DSP中進行數據處理時,需要用一種有效的數據表示方法來處理數據寬度,以解決所遇到的數據寬度超過了它們實際所能表達的範圍的問題。
現在以兩個32比特的有符號整數處理為一個64比特的有符號整數為例,結合加減移位運算來說明處理數據寬度的方法。
在計算機中有符號的整數是用二進位補碼來表示的,最高位為符號位,其餘為數據有效位。上述32比特的有符號整數就是這樣的,但是64比特的數據是用兩個32比特的數據來表示的,如何表示則有多種選擇。
定義一個64比特的數據類型如下#define word32 inttypedef struct word64{word32 wh32;word32 wl32;}word64;
word64 w64;
不同的環境或系統中整數(int)的位寬有差異,我們假定它為32比特,並重命名為word32;定義了一個64比特的新數據類型word64,它是由兩個word32類型的數據表示的,分為高低兩部分,wh32為高欄位,wl32為低欄位;w64就是一個word64類型的數據;wh32及wl32均為有符號數,w64實際為63比特的數。
現在的處理表示方法是當w64為非負數時(正數或零),wh32及wl32均為非負數;當w64為負數時,wh32及wl32均為負數;當w64為負數時一種特例是wh32為零,wl32為負數。
用該表示方法所實現的求負數運算、加法運算、右移運算或異或運算的代碼如下a)求負運算word64 NEG(word64 x){word64 z;
z.wh32=-x.wh32;
z.wl32=-x.wl32;
if(((z.wh320)(z.wl32==0))||(z.wl32==(word32)0x80000000)){ //如果運算結果為負則進行修正以符合數據表示結構z.wh32=z.wh32+0x1;
z.wl32=z.wl32+(word32)0x80000000;
}else;
return(z);
}當我們要計算一個64比特的新數據類型word64x的負值時,首先將x轉換成由兩個word32類型的數據表示的,分為高低兩部分,wh32為高欄位,wl32為低欄位;然後高低兩部分分別求負,再合併起來得出x的負值。
b)加法運算word64 ADD(word64 x,word64 y){word64 z;
z.wh32=x.wh32+y.wh32;
z.wl32=x.wl32+y.wl32;
if((x.wl320)(y.wl320)(z.wl32=0)){z.wh32=z.wh32-0x1;
z.wl32=z.wl32+(word32)0x80000000;
}else if((x.wl320)(y.wl320)(z.wl320)){z.wh32=z.wh32+0x1;
z.wl32=z.wl32+(word32)0x80000000;
}if((z.wh320)(z.wl320)){z.wh32=z.wh32-0x1;
z.wl32=z.wl32+(word32)0x80000000;
}else if((z.wh320)(z.wl320)){z.wh32=z.wh32+0x1;
z.wl32=z.wl32+(word32)0x80000000;
}else;
return(z);
}當我們要計算兩個64比特的新數據類型word64 x與y的和時,首先將x轉換成由兩個word32類型的數據表示,分為高低兩部分,wh32為高欄位,wl32為低欄位,將y轉換成由兩個word32類型的數據表示,分為高低兩部分,wh32為高欄位,wl32為低欄位;然後x、y的高低兩部分分別求和,再合併起來得出x與y的和。
c)右移運算word64 SHR(word64 x,short i){//i=31word64 z;if((x.wh320)(x.wl320)){
z.wh32=x.wh32-(word32)0x1;
z.wl32=x.wl32+(word32)0x80000000;
}else z=x;
z.wl32=(z.wl32i)+((z.wh32(3l-i))(word32)0x7fffffff);
z.wh32=(z.wh32i);
if((z.wh320)(z.wl32=0)){z.wh32=z.wh32+(word32)0x1;
z.wl32=z.wl32+(word32)0x80000000;
}else;
return(z);
}當對64比特的新數據類型word64 x進行右移時,首先將x轉換成由兩個word32類型的數據表示,分為高低兩部分,wh32為高欄位,wl32為低欄位;然後對x進行右移,其中還需對中間結果進行修正。
d)異或運算word64 XOR(word64 x,word64 y){word64 z;
if((x.wl320)(x.wh32==0))x.wh32=-1;
if((y.wl320)(y.wh32==0))y.wh32=-1;
z.wh32=x.wh32^y.wh32;
z.wl32=x.wl32^y.wl32;
return z;
}當我們要對兩個64比特的新數據類型word64 x與y求異和時,首先將x轉換成由兩個word32類型的數據表示,分為高低兩部分,wh32為高欄位,wl32為低欄位,將y轉換成由兩個word32類型的數據表示,分為高低兩部分,wh32為高欄位,wl32為低欄位;然後對x、y的高低兩部分分別求異和,再合併起來得出x與y的異和。
從上述代碼可看出,為符合數據表示結構作了很多的數據修正,代碼較複雜,這種數據處理方法無疑增加了代碼數量及運算時間,降低了運算速度。

發明內容
本發明的目的是提出一種處理數據寬度的方法及其應用,能夠減少了各種運算的軟體代碼數量,大大提高軟體運算速度。
為此,本發明採用如下方案一種處理數據寬度的方法,應用數據寬度為M*N比特,其中M為單位數據比特寬度,N為不小於1的正整數,將應用數據分解成N段M比特的單位數據,其中最高位的單位數據可以為負的或非負的整數,其他單位數據為非負整數。
所述最高位的單位數據根據應用數據判斷應為負的整數,還是非負的整數。
所述單位數據寬度可以為32比特。
對這種處理數據寬度方法的應用,可以應用來進行的運算包括求負運算、加法運算、右移運算、異或運算。
採用了本發明,數據結構易於理解;減少了各種運算的軟體代碼數量;大大提高軟體運算速度,提高了運算效率。


圖1是本發明的處理數據寬度的結構示意圖。
具體實施例方式
下面結合說明書附圖來說明本發明的具體實施方式

以64比特的整數作為應用數據,可以用32比特單位數據來處理。如圖1所示,從二進位補碼的數據來看就可直觀地發現對於64比特的整數,不論它是負數或非負數(整數或零),均可從中間分開成兩部分,分開後,高欄位部分為一個可負可非負的整數,而低欄位則為一個非負數。
用該表示方法所實現的求負數運算、加法運算、右移運算或異或運算的代碼如下a)求負運算word64 NEG(word64 x){x.wh32=-x.wh32;
x.wl32=(-x.wl32)(word32)0x7fffffff;
if(x.wl32!=0){ //如果運算結果為負則進行修正以符合數據表示結構x.wh32--;
}else;
return x;
}同原算法相比,需修正的只有數據的低欄位wl32,且修正條件大為簡化。
b)加法運算word64 ADD(word64 x,word64 y){x.wh32+=y.wh32;
x.wl32+=y.wl32;
if(x.wl320){x.wl32=(word32)0x7fffffff;
x.wh32++;
}else;
return x;
}同原算法相比,修正條件大為簡化,代碼運算小了很多。
c)右移運算
word64 SHR(word64 x,short i){//i=31x.wl32=((x.wl32i)+(x.wh32(31-i))(word32)0x7fffffff);
x.wh32=(x.wh32i);
return x;
}同原算法相比,省去了修正條件,少了許多繁雜的加減運算。
d)異或運算word64 XOR(word64 x,word64 y){word64 z;
z.wh32=x.wh32^y.wh32;
z.wl32=x.wl32^y.wl32;
return z;
}同原算法相比,省去了修正條件,只需對x、y的高低兩部分分別求異和,再合併起來得出x與y的異和。
與現有技術的運算代碼相比較,很明顯本發明的代碼簡單了很多,少了許多為符合數據結構而進行的修正,從而提高了代碼的運算速度,減少了運算量。當對軟體的實時性要求較高時或運算量較大時,用這種數據表示方法,無疑是很有效的。
該方法可適用於更寬的數據表示,比如用32比特數表示128比特的數據,最高欄位為可負可非負的整數,其它欄位均為非負的整數,各種運算代碼的實現與上述相似,128比特數據的實際寬度為125比特。
因此用M比特數表示N*M比特數據可採用該方法,數據的實際寬度為N*(M-1)+1,其中M為單位數據比特寬度,N為不小於1的正整數。
以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護範圍並不局限於此,任何熟悉該技術的人在本發明所揭露的技術範圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應該以權利要求的保護範圍為準。
權利要求
1.一種處理數據寬度的方法,應用數據寬度為M*N比特,其中M為單位數據比特寬度,N為不小於1的正整數,其特徵在於將應用數據分解成N段M比特的單位數據,其中最高位的單位數據可以為負的或非負的整數,其他單位數據為非負整數。
2.如權利要求1所述的處理數據寬度的方法,其特徵在於所述最高位的單位數據根據應用數據判斷應為負的整數,還是非負的整數。
3.如權利要求1或2所述的處理數據寬度的方法,其特徵在於所述單位數據寬度可以為32比特。
4.如權利要求1所述的處理數據寬度方法的應用,其特徵在於可以應用所述處理數據寬度的方法來進行的運算包括求負運算、加法運算、右移運算、異或運算。
全文摘要
本發明提出一種處理數據寬度的方法,應用數據寬度為M*N比特,其中M為單位數據比特寬度,N為不小於1的正整數,將應用數據分解成N段M比特的單位數據,其中最高位的單位數據可以為負的或非負的整數,其他單位數據為非負整數,採用本發明可以提高了代碼的運算速度,減少了運算量,當對軟體的實時性要求較高時或運算量較大時,用這種數據處理方法,無疑是很有效的。
文檔編號G06F7/00GK1845065SQ20051008280
公開日2006年10月11日 申請日期2005年7月8日 優先權日2005年7月8日
發明者蔣代林 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀