JPH0216632A - 固定小数点数−浮動小数点数変換回路 - Google Patents

固定小数点数−浮動小数点数変換回路

Info

Publication number
JPH0216632A
JPH0216632A JP63167046A JP16704688A JPH0216632A JP H0216632 A JPH0216632 A JP H0216632A JP 63167046 A JP63167046 A JP 63167046A JP 16704688 A JP16704688 A JP 16704688A JP H0216632 A JPH0216632 A JP H0216632A
Authority
JP
Japan
Prior art keywords
point number
data
bit
circuit
rounding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63167046A
Other languages
English (en)
Inventor
Shigeto Tanaka
田中 茂人
Hisayoshi Kuraya
久義 蔵屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63167046A priority Critical patent/JPH0216632A/ja
Publication of JPH0216632A publication Critical patent/JPH0216632A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 小数点位置が固定の数値を浮動小数点表示の数値に変換
する固定小数点数−浮動小数点数変換回路に関し、 桁落ちによる誤差を減少することを目的とし、固定小数
点数が供給されその有効データの最上位ビットを検出し
、該検出最上位ビット位置に応じたシフト数を出力する
プライオリティエンコーダと、前記プライオリティエン
コーダから取り出された前記シフト数だけ前記固定小数
点数のビットシフトを行ない正規化された仮数部と該仮
数部として用いられない桁落ちデータとを出力するシッ
クと、前記プライオリティエンコーダから取り出された
前記シフト数に基づいて指数部を生成する指数演算器と
、前記シフタから取り出された前記仮数部及び桁落ちデ
ータのうち該仮数部と前記指数演算器からの前記指数部
とからなるデータに、前記桁落ちデータをデコードして
得たデータを加算して丸めを行なう丸め回路とよりなり
、前記丸め回路より浮動小数点数を取り出すよう構成す
る。
〔産業上の利用分野〕
本発明は固定小数点数−浮動小数点数変換回路に係り、
特に小数点位置が固定の数値を浮動小数点表示の数値に
変換する固定小数点数−浮動小数点数変換回路に関する
データを伝送する場合は通常そのデータは固定小数点数
又は整数であるが、データ圧縮などのために電子計算機
で演算を行なう場合には、固定小数点数や整数では所定
の演算精度やダイナミックレンジを得るにはビット数が
多くなりすぎてしまうため、上記の演算に先立ち固定小
数点数を浮動小数点数に変換することが行なわれる。
かかる固定小数点数から浮動小数点数の変換に際しては
、できるだけ誤差を少なく浮動小数点数に変換すること
が重要となる。
〔従来の技術〕
第11図は従来の固定小数点数−浮動小数点数変換回路
の一例のブロック図を示す。この従来回路は例えば第1
2図(A)に示す32ビツトの固定小数点数から同図(
B)に丞す32ビツトの浮動小数点数へ変換する回路で
ある。第12図(A>中、Sで示す最上位ビットは符号
ビットで′O″のとき正、′1”のとき負を示し、また
残りのFで示す31ビツトは2の補数表示で表現された
データである。
他方、第12図(B)に示す浮動小数点数において、S
で示す最上位ビットは符号ビット、eで示す8ビツトは
指数部、fで示す23ビツトは仮数部で、小数点位置は
22ビツト目と23ビツト目の間にある。
上記の固定小数点数は2の補数回路(図示せず)を通し
て符号ビットを除く下位31ビツトが第11図のプライ
オリティエンコーダ1に並列に入力され、ここで値が1
”である最上位のビットが検出される一方、シフタ2に
供給される。シフタ2はプライオリティエンコーダ1の
検出出力に基づいて、上記の下位31ビツトのデータを
その中の値゛1″の最上位のビットが後述の浮動小数点
数の上位9ビツト目の位M(小数点位置の1ビツト上位
)にくるようにシフトする。ただし、上記値“1”の最
上位ビットは表現されない(がくれビットと呼ばれる)
。このように、シフタ2は前記仮数部での最上位ビット
が常に“1″となるようにする正規化を行なう。
また、プライオリティエンコーダ1の検出出力は指数演
算器3に供給され、ここで基準値と汀線されて指数部の
データとされる。これにより、シフタ2よりの23ビツ
トを前記仮数部fとし、指数演算器3よりの8ビツトを
前記仮数部eとし、更に入力固定小数点数の最上位ビッ
トを前記符号ビットSとする、第12図(B)に示す如
きデータ形式の浮動小数点数が取り出される。
〔発明が解決しようとする課題〕
しかるに、上記の従来の変換回路は、シフタ2により右
又は左方向に所定ビット数シフトすることに伴って桁落
ちデータが生じ、それがすべて切捨てられていたため、
桁落ちにより誤差が出力浮動小数点数に存在することが
あるという問題点があった。
本発明は上記の点に鑑みてなされたもので、桁落ちによ
る誤差を減少することができる固定小数点数−浮動小数
点数変換回路を提供することを目的とする。
〔課題を解決するための手段〕
第1図は本発明の原理ブロック図を示す。同図中、5は
プライオリティエンコーダで、入力固定小数点数の有効
データの最上位ビットを検出する。
6はシフタで、入力固定小数点数のビットシフトをプラ
イオリティエンコーダ5からのシフト数に応じて行ない
、正規化された仮数部と桁落ちデータとを出力する。
7は指数演算器で、プライオリティエンコーダ5の出力
に基づいて指数部を生成する。8は丸め回路で、本発明
の要部をなしており、前記仮数部及び指数部からなるデ
ータに、前記桁落ちデータをデコードして得たデータを
加算して丸めを行なう。
〔作用〕
固定小数点数はシフタ6により、後述の出力浮動小数点
数の仮数部となるデータ(仮数データ)が正規化される
ようにシフトされた後、丸め回路8に供給される。
従来は指数演算器7より取り出された指数部となるデー
タ(指数データ)の下位ビット側にシフタ6よりの仮数
データを合成して得た合成データを浮動小数点数として
変換出力していた。これに対し、本発明では丸め回路8
により前記桁落ちデータを所定の丸め処理方式に基づい
てデコードして得た値を、上記合成データに加算し、そ
の加算結果を浮動小数点数として出力する。
従って、本発明によれば、従来切捨てていた前記桁落ち
データを丸めた浮動小数点数を丸め回路8より変換出力
することができる。
〔実施例〕
第2図は本発明の一実施例のブロック図を示す。
同図中、第1図と同一構成部分には同一符号を付しであ
る。第2図に示す実施例は第11図に示した従来の固定
小数点数−浮動小数点数変換回路と同様に、第12図(
A)に示したデータ形式の32ビット固定小数点数を、
同図(B)に示したデータ形式の32ビット浮動小数点
数に変換する回路である。
第2図において、入力固定小数点数は2の補数表現であ
るのに対し、出力浮動小数点数の仮数部は絶対値表現で
あるので、入力固定小数点数はまず2の補数回路10に
供給され、ここで2の補数をとって表現が一致される。
2の補数回路10の出力32ビツトデータはその最上位
ビット(MSB)が符号ビットSであるので、その符号
ビットSを除いた下位31ビツトのデータがプライオリ
ティエンコーダ5及びシフタ6に夫々並列入力される。
プライオリティエンコーダ5は第3図に示す如きプライ
オリティエンコーダ機能表に従って、例えば入力31ビ
ツトデータの最上位ビット(最上位ビットを「0」で表
わすと「30」で表わされるビット)の値が“1”のと
ぎは、10逆数で「7」に相当する5ビツトパラレルデ
ータをシフト数として出力し、同様に入力31ビツトデ
ータのうち値が“1”である最上位ビットが何ビット目
であるかによって第3図の機能表で定まるシフト数を出
力する。上記の入力31ビツトデータのうち値が“1”
である最上位ビット及びその下位ビットが有効データと
なる。
一方、前記シフタ6は第4図に示す如く、シフトレジス
タとセレクタとからなるバレルシフタ11により構成さ
れており、上記プライオリティエンコーダ5よりの5ビ
ツトパラレルデータ(シフト数)に基づいて、その10
進数に相当するビット数だけシフトし、入力31ビツト
データのうち上位23ビツトの正規化された仮数データ
と下位7ビツトの桁落ちデータとを夫々出力する。ここ
で、プライオリティエンコーダ5の出力シフト数の値が
正のときは右シフト、負のときは左シフトを行なう。
上記のシフト数はまた指数演算器7にも供給される。こ
の指数演算器7は第5図に示す如く、シフト数と一定の
基準値(16進数のr96J )とを加算して8ビツト
の指数データを出力する構成とされている。ここで、指
数データは16進数で「7F」のゲタばき表現となるよ
うにされている。
その理由は■指数が正に限られるので、演算が簡単にな
る、■指数の最小値が(OOH)となり、符号が等しい
2値の比較が整数、固定小数点数と同様に行なえ、高速
演算ができる、■逆数を求めるのにオーバーフロー、ア
ンダーフローが生じない、■[零、1を表現するのに指
数部および仮数部共にオール″0”となり、符号を除き
整数、固定小数点数と同じビットパターンとなる、など
が挙げられる。
これにより、出力指数データの値と表現される指数部の
値との関係は次表に示す如くになる。
従って、指数部を(7FH)のゲタばき表現とし、かつ
、第12図(A)、(B)かられかるように、変換しよ
うとする浮動小数点数の小数点位置は入力固定小数点数
の小数点位置に比べ、23ビツト異なるからこれを補正
するため、前記基準値は(7F)4 ) +23− (
7FM )+ (17)4 )= (96N ) に選定されている。
なお、指数演算器7に供給される前記5ビツトのシフト
数は、指数演算器7内において8ビツトの基準値と加算
されるときは符号拡張して2の補数表示形式の8ビツト
とされて加算される。
このようにして、入力固定小数点数中の符号ビットと、
指数演算器7より取り出された8ビツトの指数データと
前記シフタ6から取り出された23ビツトの仮数データ
とが合成されて得られた32ビツトのデータは、シフタ
6からの前記7ビツト桁落ちデータと共に第2図の丸め
回路8に供給される。
この丸め回路8は例えば第6図に示す如く、インクリメ
ント回路13とデコーダ14とからなり、インクリメン
ト回路13により上記32ビツトのデータと、デコーダ
14よりの桁落ちデータのデコード出力1ビツトとを加
算して32ビツトの浮動小数点数を出力する構成とされ
ている。
デコーダ14は丸めの処理方式によって構成が異なり、
第7図(A)〜(C)に示す構成その他種々考えられる
。第7図(A)は切り上げの丸め処理を行なうときの回
路で、桁落ちデータ7ビツトを7人力OR回路16で論
理和をとり、7ビツトのうちどれか一つでも“1”があ
るときは値“1”を出力する。
第7図(B)は四捨五入の丸め処理を行なうときの回路
で、桁落ちデータ7ビツトの最上位ビットをA、最下位
ビットをGで表わしたとき、最上位ビットだけを出力す
る構成である。
第7図(C)はI E E E (I n5titut
e ofElectrical and Electr
onics  Engineers)規格で定められた
■RN (Round  Nearest) 、■RP
 (Round  Plus ) 、■RM(Roun
+1Mtnus)、■RZ (Round  Zero
 )の4つの丸め方法のうち、RPl、:基づく丸め処
理を行なうときの回路で、固定小数点数の符号ビットS
をインバータ17により反転した値と、7ビツト桁落ち
データが入力される7人力OR回路16の出力とをAN
D回路18で論理積をとって得た値をインクリメント回
路13へ出力する構成である。従って、この構成のデコ
ーダの場合は、正の値の時のみ切り上げが行なわれる。
デコーダ14としては第7図(A)〜(C)の回路構成
に限らず、RN、RM、RZなどの丸め方法を行なうよ
うな回路構成にすることもできる。
なお、上記のIEEEI格の4つの丸め方法は公知であ
るので、その詳細な説明は省略する。
このようにして、丸め回路8から浮動小数点数を得るこ
とができるが、次に第2図の各部の演算出力の具体例に
ついて第8図乃至第10図と共に説明する。いま入力固
定小数点数が第8図(A)に示す如< (400000
40H)で示される2進数の32ビツトであるものとす
ると、2の補数回路10の出力は同図(B)に示す如く
、入力が正の数であるので2の補数はとらず入力と同値
となり、よってプライオリティエンコーダ5の出力は第
3図かられかるように第8図(G)に示す如<10進数
で「7」となる。
従って、シフタ6の出力は第8図(D)に示す如く入力
固定小数点数の下位31ビツトを右へ7ビツトシフトさ
れ、そのうち下位7ビツトが桁落ちデータとして、また
2ビツト目から24ビツト目までの23ビツトが仮数デ
ータとして取り出される。
また指数演算器7では第8図(E)に示す如き演算が行
なわれて「10011101Jなる値の8ビツト指数デ
ータが取り出される。従って、丸め回路8には第8図(
F)に示す如き値のデータが入力され、ここでその上位
32ビツトの指数、仮数データ(符号ビットを含む)に
、7ビツト桁落ちデータをデコードして得た値“1”が
第8図(G)に示す如く加算され、その32ビツトの加
算結果20が浮動小数点数として出力される。
本実施例の出力浮動小数点数20は第8図(F)の上位
32ビツトに相当する従来回路の出力浮動小数点数に比
べてより誤差の少ない値が得られる。
また、入力固定小数点数の値が第9図(A)に示す如<
 (OOFFFFFFH)の場合は、2の補数回路10
.プライオリティエンコーダ5.シフタ6の各出力は第
9図(B)、(C)、(D)に示す如くになり、指数演
算器7の演算は第9図(E)に示す如くになるので、丸
め回路8の入力と出力は夫々第9図(F)、(G)に示
す如くになり、丸め回路8からは同図(G)に21で示
す浮動小数点数が取り出される。この場合は、従来回路
と本実施例では変換出力される浮動小数点数の値は同一
となる。
次に入力固定小数点数が第10図(A)に示す如く32
ビツトオール“1”、すなわら値が負で、かつ、絶対値
が最小値に近い値を示している場合は、2の補数回路1
0により第10図(B)に示す如く符号ビットはそのま
まで、他の31ビツトデータが絶対値表現される。
従って、プライオリティエンコーダ5の出力は第3図に
示した機能表かられかるように第10図(C)に示す如
く10進数でr−234となるため、シフタ6の入力3
1ビツトデータは第10図(D)に示す如く23ビツト
左ヘシフトされて取り出され、指数演算器7からは第1
0図(E)に示す演算によって[0111111月 (
すなわち16進数の7F)の8ビツトデータが取り出さ
れる。
従って、丸め回路8には第10図(F)に示す39ビツ
トのデータが入力され、これより同図(G)に示す演算
によって22で示す如き浮動小数点数が取り出される。
この場合は、第9図の場合と同様、桁落ちデータは7ビ
ツトオール“0”だからデコーダ出力も“0”であり、
よって従来回路と同じ値の浮動小数点数22が取り出さ
れる。
なお、本発明は上記の実施例に限定されるものではなく
、丸め回路8の丸め処理方法、プライオリティエンコー
ダ5の構成、入力固定小数点数のデータ形式客種々の変
形例が考えられる。
〔発明の効果〕
上述の如く、本発明によれば、従来切捨てていた桁落ち
データを丸めるようにしたので、従来に比べて変換誤差
の少ない浮動小数点数を出力することができる等の特長
を有するものである。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明の一実施例のブロック図、第3図はプラ
イオリティエンコーダ機能表を示す図、 第4図はシフタの一例の説明図、 第5図は指数演算器の一例の構成図、 第6図は丸め回路の一実施例の構成図、第7図はデコー
ダの各実施例を示す回路図、第8図乃至第10図は夫々
第2図の演算過程の各個の説明図、 第11図は従来の一例のブロック図、 第12図は固定小数点数と浮動小数点数のデータ形式の
一例を示す図である。 図において、 5はプライオリティエンコーダ、 6はシフタ、 7は指数演算器、 8は丸め回路、 10は2の補数回路、 13はインクリメント回路、 14はデコーダ を示す。 市(シ用の屏り!プ゛ロγ2図 第 ■ 図 杢淀ツ月の一大粧が1のカッ2■ シフ戸の一伊J、字陰用匂 第4図 丸め、a路−一姿捷1の枢回 第6図 (A) (C)

Claims (1)

  1. 【特許請求の範囲】 固定小数点数が供給されその有効データの最上位ビット
    を検出し、該検出最上位ビット位置に応じたシフト数を
    出力するプライオリティエンコーダ(5)と、 前記プライオリティエンコーダ(5)から取り出された
    前記シフト数だけ前記固定小数点数のビットシフトを行
    ない正規化された仮数部と該仮数部として用いられない
    桁落ちデータとを出力するシフタ(6)と、 前記プライオリティエンコーダ(5)から取り出された
    前記シフト数に基づいて指数部を生成する指数演算器(
    7)と、 前記シフタ(6)から取り出された前記仮数部及び桁落
    ちデータのうち該仮数部と前記指数演算器(7)からの
    前記指数部とからなるデータに、前記桁落ちデータをデ
    コードして得たデータを加算して丸めを行なう丸め回路
    (8)とよりなり、前記丸め回路(8)より浮動小数点
    数を取り出すよう構成したことを特徴とする固定小数点
    数−浮動小数点数変換回路。
JP63167046A 1988-07-05 1988-07-05 固定小数点数−浮動小数点数変換回路 Pending JPH0216632A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63167046A JPH0216632A (ja) 1988-07-05 1988-07-05 固定小数点数−浮動小数点数変換回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63167046A JPH0216632A (ja) 1988-07-05 1988-07-05 固定小数点数−浮動小数点数変換回路

Publications (1)

Publication Number Publication Date
JPH0216632A true JPH0216632A (ja) 1990-01-19

Family

ID=15842388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63167046A Pending JPH0216632A (ja) 1988-07-05 1988-07-05 固定小数点数−浮動小数点数変換回路

Country Status (1)

Country Link
JP (1) JPH0216632A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195334A (ja) * 1990-11-27 1992-07-15 Matsushita Electric Ind Co Ltd 固定小数点型デジタル信号処理装置
US6055648A (en) * 1997-06-03 2000-04-25 Justsystem Corp. Method and apparatus for recovering the computing error, and a computer-readable recording medium for storing the program for executing the method
JP2002271207A (ja) * 2001-03-13 2002-09-20 Asahi Kasei Microsystems Kk データ変換装置およびデータ圧縮装置およびデータ伸長装置
JP2004213622A (ja) * 2002-12-27 2004-07-29 Arm Ltd 固定小数点表示と浮動小数点表示との間で数を変換するデータ処理装置および方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195334A (ja) * 1990-11-27 1992-07-15 Matsushita Electric Ind Co Ltd 固定小数点型デジタル信号処理装置
US6055648A (en) * 1997-06-03 2000-04-25 Justsystem Corp. Method and apparatus for recovering the computing error, and a computer-readable recording medium for storing the program for executing the method
JP2002271207A (ja) * 2001-03-13 2002-09-20 Asahi Kasei Microsystems Kk データ変換装置およびデータ圧縮装置およびデータ伸長装置
JP4575609B2 (ja) * 2001-03-13 2010-11-04 旭化成エレクトロニクス株式会社 データ変換装置
JP2004213622A (ja) * 2002-12-27 2004-07-29 Arm Ltd 固定小数点表示と浮動小数点表示との間で数を変換するデータ処理装置および方法

Similar Documents

Publication Publication Date Title
US4631696A (en) Fixed-point data/floating-point data converting apparatus
US6205461B1 (en) Floating point arithmetic logic unit leading zero count using fast approximate rounding
US9059726B2 (en) Apparatus and method for performing a convert-to-integer operation
JPH05134851A (ja) 乗算回路出力方式
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
US6205462B1 (en) Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
KR19980082906A (ko) 부동 소수점 숫자의 정수형으로의 변환 방법
US20060136536A1 (en) Data processing apparatus and method for converting a fixed point number to a floating point number
EP0332215B1 (en) Operation circuit based on floating-point representation
JP2558669B2 (ja) 浮動小数点演算装置
US5754458A (en) Trailing bit anticipator
JP3286990B2 (ja) ディジタルシグナルプロセッサ
JPS5911444A (ja) 浮動小数点数演算装置
JPH03100722A (ja) 精度変換命令の処理方式
JPS63158626A (ja) 演算処理装置
JP2555135B2 (ja) 演算回路
JP2792998B2 (ja) 加減算回路を用いた型変換装置
JPH0291724A (ja) 演算装置
JPS6126135A (ja) 浮動小数点デ−タ変換回路
JPH0778724B2 (ja) 除算器
JPS61282928A (ja) 浮動小数点演算装置
JP2890412B2 (ja) 符号変換回路
JP3803653B2 (ja) 乗算処理装置
JPH0644041A (ja) 浮動小数点演算装置