JP2689414B2 - 浮動小数点表現変換器 - Google Patents

浮動小数点表現変換器

Info

Publication number
JP2689414B2
JP2689414B2 JP61002444A JP244486A JP2689414B2 JP 2689414 B2 JP2689414 B2 JP 2689414B2 JP 61002444 A JP61002444 A JP 61002444A JP 244486 A JP244486 A JP 244486A JP 2689414 B2 JP2689414 B2 JP 2689414B2
Authority
JP
Japan
Prior art keywords
bit
conversion
input
output
shifter
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.)
Expired - Lifetime
Application number
JP61002444A
Other languages
English (en)
Other versions
JPS62160532A (ja
Inventor
一朗 黒田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP61002444A priority Critical patent/JP2689414B2/ja
Priority to US07/001,910 priority patent/US4831575A/en
Publication of JPS62160532A publication Critical patent/JPS62160532A/ja
Application granted granted Critical
Publication of JP2689414B2 publication Critical patent/JP2689414B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Analogue/Digital Conversion (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、異なる浮動小数点表現間の変換を短時間に
行うことを容易にする浮動小数点表現変換器に関する。 〔従来の技術〕 科学技術計算などで用いられる浮動小数点演算におけ
る数値表現形式は指数部eと仮数部mとから構成されて
おり、基数をbとすると数値fに対し、(1)式で示す
ような対応づけを行う。 f=m×be (1) これにより限られたビット数により広範囲にわたる数
値の表現を可能にしている。 以上に示した浮動小数点表現において、指数部e、仮
数部mの各々のビット表現方式に対しては様々な方式が
採用されているが、IEEE(インスチチュートオブエレク
トリカルアンド エレクトロニクス エンジニア:電気
電子技術者協会)において標準形式が定められ多くのマ
イクロコンピュータにおいて採用されている。IEEEで標
準化された32ビット浮動小数点形式は以下に示す特徴を
もつIEEE標準の32ビット浮動小数点形式は第2図(a)
に示すように符号ビットS、8ビットの指数部E、23ビ
ットの仮数部Mとから構成されている。指数部は指数の
値に127を加えたバイアス表現となっており、仮数部は
仮数の絶対値を表現しており、式(2)で示す範囲の数
が表すことができる。 1≦f<2 (2) 但し正規化された数の最上位ビットは常に1となるた
め、最上位は省略し、上位2ビット目からが表現されて
いる。 また指数部の値が最大値127の場合は非数として特別
に扱い、最小値0の場合も非正規化数として例外的な処
理を行う。詳しくは「ア プロポーズド スタンダード
フォー バイナリー フローティングポイント アリ
スメティック」ドラト8.0オブ アイトリプルイー タ
スク p754,1981を参照されたい。 以上に示したIEEE標準形式に対し指数部、仮数部共に
2の補数表現を用いた浮動小数点表現も使われている。 例えばティーアールダブリュー(TRW)社が製造して
いる浮動小数点演算器では2の補数表現の指数部と仮数
部とからなる浮動小数点形式を採用している。詳しくは
1982年アイトリプルイーインターナショナルコンファレ
ンス オン アコースティックス、スピーチ アンド
シグナル プロセッシングのプロシーディングスのp717
〜720に掲載されたエルドン、ロバートソンによる論文
「アフローティング ポイント フォーマット フォー
シグナル プロセッシング」を参照されたい。 上記に示した論文では6ビット指数部、16ビット仮数
部からなる22ビット浮動小数点表現を採用しているが、
第2図(b)に示すような2の補数表現の8ビット指数
部と2の補数表現の24ビット仮数部からなる32ビット浮
動小数点表現も上記の22ビット表現の拡張として容易に
考えることができる。以下にこれを2の補数32bit浮動
小数点形式と名付ける。2の補数32bit浮動小数点形式
は2の補数固定小数点形式との整合性、及び高速演算回
路の実現の容易さなどから特にデイジタル信号処理用の
計算機に採用されていくと思われる。 〔発明が解決しようとする問題点〕 しかしながら2の補数32bit浮動小数点形式で演算さ
れたデータをIEEE標準形式を採用している計算機で使用
する場合、或いはIEEE標準形式で演算されたデータを2
の補数32bit浮動小数点形式を採用している計算機で使
用する場合は、2つの異なる表現形式間で形式変換を行
う必要がある。この形式変換は簡単なビット処理及び演
算処理を組み合わせたプログラムでも実現できる可能性
はあるが、多くのステップ数を要するという問題が生じ
る。 本発明の目的は上述したIEEE標準32bit浮動小数点形
式と2の補数32bit浮動小数点形式相互の変換の高速実
現を容易にする専用回路を提供することにある。 〔問題点を解決するための手段〕 1ビットの符号ビットとeビットのバイアス表現され
た指数部とm−1ビットの絶対値表現された仮数部の順
に構成される浮動小数点形式Aとeビットの2の補数表
現の指数部とmビットの2の補数表現の仮数部の順に構
成される浮動小数点形式Bとの間の相互の形式変換を行
う変換器において、前記浮動小数点形式Aを前記浮動小
数点形式Bに変換するAB変換を行うか、前記浮動小数点
形式Bを前記浮動小数点形式Aに変換するBA変換を行う
かのいずれかを指定する制御信号を出力する制御回路
と、被変換浮動小数点データを入力する入力レジスタと
該入力レジスタに入力された入力浮動小数点データの上
位e+1ビットを入力し、前記AB変換を行う時は1ビッ
ト左回転シフトを行い前記BA変換を行う時は入力データ
をそのまま出力する左回転シフタと、該左回転シフタの
上位eビットを入力し、前記AB変換を行う時は予め定め
られた定数を減算し前記BA変換を行う時は予め定められ
た定数を加算する加減算器と該加減算器のeビット出力
の下位位置に前記左回転シフタの出力の最下位ビットを
つけ加えたe+1ビットを入力し前記AB変換を行う時は
入力データをそのまま出力し、前記BA変換を行う時は1
ビット右回転シフトを行う右回転シフタと、前記入力レ
ジスタに入力された浮動小数点データの下位mビットを
入力し前記AB変換を行う時は前記左回転シフタの出力の
最下位ビットが1の時は入力データの2の補数をとり前
記左回転シフタの出力の最下位ビットが0の時は入力デ
ータをそのまま出力し、一方前記BA変換を行う時は入力
データの絶対値を出力する極性変換器と、該極性変換器
の出力を入力し前記AB変換を行う時は1ビットを右シフ
トを行い、前記BA変換を行う時は1ビット左シフトを行
う1ビット左右シフタと、該1ビット左右シフタの出力
を入力とし前記AB変換を行う時は、前記右回転シフタの
出力の最下位ビットが0の時は入力データの上位2ビッ
トを01におきかえ前記右回転シフタの出力の最下位ビッ
トが1の時は、入力データの上位2ビットを10におき換
え、一方前記BA変換を行う時は入力データの最上位ビッ
トを前記右回転シフタの最下位ビットをおき換えるビッ
ト連結器と前記右回転シフタの上位eビットの下位に前
記ビット連結器の出力を付加して出力する出力レジスタ
とから構成される。 〔作用〕 本発明の浮動小数点変換器でIEEE標準32bit浮動小数
点(形式A)形式から2の補数32bit浮動小数点形式
(形式B)に変換する時は、制御回路においてAB変換を
行うように指定する。AB変換の指定を行うことにより、
2ビット目からe+1ビット目にある指数部が1ビット
左回転シフトにより上位eビットに移動し、加減算器に
よりバイアスが減ぜられ2の補数32bit浮動小数点形式
の指数部となる。一方IEEE標準32bit浮動小数点形式の
最上位ビットにある符号ビットが1ビット左回転シフト
によりe+1ビット目に移動しこの符号ビットが「1」
の場合は下位mビットにある仮数部の2の補数をとり符
号ビットが「0」の場合は下位mビットにある仮数部を
変させずにさらに1ビット左右シフタにより1ビット右
シフトを行う。 IEEE標準32bit浮動小数点形式の仮数部は下位m−1
ビットに存在し、さらに1ビット右シフトを行った為、
上位e+1ビット目からe+2ビット目までは2の補数
32ビット浮動小数点形式の仮数部には無関係なデータが
入っている。 そこでビット連結器で符号ビットが「0」の時は仮数
部の上位2ビットを「01」でおきかえ、符号ビットが
「1」の時は仮数部の上位2ビットを「10」でおきかえ
ることにより2の補数32bit浮動小数点形式の仮数部が
得られる。 本発明の浮動小数点変換器で2の補数32bit浮動小数
点形式からIEEE標準32bit浮動小数点形式に変換する時
は、制御回路においてBA変換を行うように指定する。BA
変換の指定を行うことにより2つの補数32bit浮動小数
点形式の上位eビットにある指数部に、加減算器により
バイアスを加算し、加算結果の下位に2の補数32bit浮
動小数点形式の上位e+1ビット目にある符号ビットを
つけ加えたe+1ビットのデータの1ビット右回転シフ
トを行う。1ビット右回転シフトにより最上位ビットが
符号ビットとなり、上位2ビット目からeビット目まで
が指数部の上位e−1ビットになる。 一方、mビット仮数部に対し絶対値をとり1ビット左
シフトを行う。 次に上位e+1ビット目をビット連結器により右回転
シフタの出力の最下位ビットでおきかえることにより符
号ビット、eビット指数部m−1ビット仮数部からなる
IEEE標準32bit形式に変換される。 〔実施例〕 以下、本発明の一実施例について図面を参照しながら
説明する。 第1図は本発明による浮動小数点表現変換器の構成を
示すブロック図である。浮動小数点表現変換器は図示さ
れるように制御回路1と、入力レジスタ2と、左回転シ
フタ3と、定数加減算器4と右回転シフタ5と、極性変
換器6と、1ビット左回転シフタ7と、ビット連結器8
と出力レジスタ9とから構成される。上記構成において
制御回路1は本発明の浮動小数点表現変換器においてIE
EE標準32ビット浮動小数点形式(以下形式Aと呼ぶ)か
ら2の補数32ビット浮動小数点形式(以下形式Bと呼
ぶ)への変換(以下AB変換と呼ぶ)を行うか、形式Bか
ら形式Aへの変換(以下BA変換と呼ぶ)を行うかを指定
する制御信号を発生する。入力レジスタ2は浮動小数点
表現変換を行う形式A又は形式Bの浮動小数点データを
格納する32ビットレジスタである。 左回転シフタ3は入力レジスタ2の上位9ビットを入
力し、制御回路9によりAB変換が指定された時は1ビッ
ト左回転シフトを行い、BA変換が指定された時は入力デ
ータをそのまま出力する。定数加減算器4は、左回転シ
フタ3の出力の上位8ビットを入力し制御回路9により
AB変換が指定された時は入力データから16進表現で7Eを
減算し、BA変換が指定された時は入力データに7Eを加算
する。右回転シフタ5は定数加減算器4の出力の8ビッ
トの下位に左回転シフタ3の出力の最下位ビットをつけ
加えた9ビットを入力し、制御回路9によりAB変換が指
定された時は入力データをそのまま出力し、BA変換が指
定なれた時は1ビット右回転シフトを行う。極性変換器
6は入力レジスタ2の下位24ビットを入力し、制御回路
9によりAB変換が指定された時は左回転シフタ3の出力
の最下位ビットが1の時は入力データの2の補数を出力
し、左回転シフタ3の出力の最下位ビットが0の時は入
力データをそのまま出力する。 一方、極性変換器6は制御回路9によりBA変換が指定
された時は入力データの絶対値を出力する。ビット左右
シフタ7は極性変換器6の出力を入力とし、制御回路9
によりAB変換が指定された時は1ビット右シフトを行
い、BA変換が指定された時は1ビット左シフトを行う。 ビット連結器8は1ビット左右シフタ7の出力を入力
とし、制御回路9によりAB変換が指定された時は右回転
シフタの出力の最下位ビットが「0」の時は入力データ
の上位2ビットを「01」におきかえ、右回転シフタの出
力の最下位ビットが「1」の時は入力データの上位2ビ
ットを「10」におき換えて出力する。一方、ビット連結
器8において制御回路9によりBA変換が指定された時は
入力データの最上位ビットを右回転シフタ5の出力の最
下位ビットでおきかえる。 出力レジスタ9には右回転シフタの出力の上位8ビッ
トとビット連結器の出力24ビットからなる浮動小数点表
現変換されたデータが格納される。 次に上記構成を有する浮動小数点表現変換器の動作を
第3図、第4図を用いて説明する。 本発明の浮動小数点表現変換器でAB変換を行う時は制
御回路9により各構成要素にAB変換の指定を行う。 AB変換の指定を行い、入力レジスタ2に形式Aの浮動
小数点データを入力すると、2ビット目から9ビット目
にある指数部が左回転シフタ3により上位8ビットに移
動し第3図S1、左回転シフト参照)定数加減算器により
バイアス(16進で7E)が減ぜられ(第3図S2、バイアス
減算参照)形式Bの指数部となる。一方形式Aの最上位
ビットにある符号ビットが左回転シフタ3により9ビッ
ト目に移動しこの符号ビットにより下位24ビットにある
仮数部の符号を変化させ(第3図S3、S=1の時2の補
数参照)1ビット左右シフタ7により1ビット右シフト
を行なう(第3図S4、1ビット右シフト参照)。形式A
の下位23ビットに存在した仮数部に対し1ビット右シフ
トを行った為、上位9ビット目及び10ビット目には形式
Bの仮数部には無関係なデータが入っている。そこでビ
ット連結器8により符号ビットが1の時は仮数部の上位
2ビットを“01"でおきかえ、符号ビットが1の時は仮
数部の上位2ビットを“10"でおきかえる(第3図S5上
位2ビット修正参照)ことにより形式Bの2ビットの仮
数部が得られる。 一方、本発明の浮動小数点変換器でBA変換を行う時は
制御回路9により各構成要素にBA変換の指定を行う。BA
変換の指定を行い、入力レジスタ2に形式Bの浮動小数
点データを入力すると上位8ビットにある指数部に対
し、加減算器4によりバイアス(16進で7E)が加算され
る(第4図S6、バイアス加算参照)。更に加算結果の8
ビットの下位側に形式Bの上位9ビット目にある符号ビ
ットをつけ加えた9ビットを右回転シフタ5により右回
転シフトを行う(第4図S7、右回転シフト参照)。右回
転シフトにより最上位ビットが符号ビットとなり、上位
2ビット目から9ビットまでが指数部となる。 一方入力レジスタの下位24ビットに対し極性変換器6
で絶対値をとり(第4図S8、絶対値演算参照)1ビット
左右シフタ7で1ビット左シフトを行なう(第4図S9、
1ビット左シフト参照)さらにビット連結器8により1
ビット左右シフタの24ビット出力の最上位ビットを右回
転シフタの出力の最下位ビットでおきかえる(第4図S1
0、上位1ビット修正参照)。 以上の動作で得られた右回転シフタ5の出力の上位8
ビットの下位にビット連結器8の出力をつけ加えること
により形式Aの浮動小数点表現が得られる。 〔発明の効果〕 本発明の浮動小数点表現変換器により、全体の語長、
及び指数部の語長が互いに等しく、しかも指数部、仮数
部の数値表現形式及びフィールド構成の異なる2つの浮
動小数点表現形式の間の相互の変換を短時間で実行する
ことができる。
【図面の簡単な説明】 第1図は本発明に係る浮動小数点表現変換器の全体構成
を示すブロック図。 第2図(a),(b)はIEEE標準32bit浮動小数点表現
及び2の補数32bit浮動小数点表現の表現形式を表す
図、第3図及び第4図は、第1図の動作を説明するため
の図である。 1……制御回路 2……入力レジスタ 3……左回転シフタ 4……定数加減算器 5……右回転シフタ 6……極性変換器 7……1ビット左右レジスタ 8……ビット連結器 9……出力レジスタ

Claims (1)

  1. (57)【特許請求の範囲】 1.1ビットの符号ビットとeビットのバイアス表現さ
    れた指数部とm−1ビットの絶対値表現された仮数部の
    順に構成される浮動小数点形式Aとeビットの2の補数
    表現の指導部とmビットの2の補数表現の仮数部の順に
    構成される浮動小数点形式Bとの間の相互の形式変換を
    行う変換器において、前記浮動小数点形式Aを前記浮動
    小数点形式Bに変換するAB変換を行うか、前記浮動小数
    点形式Bを前記浮動小数点形式Aに変換するBA変換を行
    うかのいずれかを指定する制御信号を出力する制御回路
    と、被変換浮動小数点データを入力する入力レジスタ
    と、該入力レジスタに入力された入力浮動小数点データ
    の上位e+1ビットを入力し、前記AB変換を行う時は1
    ビット左回転シフトを、前記BA変換を行う時は入力デー
    タをそのまま出力する左回転シフタと、該左回転シフタ
    の上位eビットを入力し、前記AB変換を行う時は予め定
    められた定数を減算し、前記BA変換を行う時は、予め定
    められた定数を加算する加減算器と該加算器のeビット
    出力の下位位置に前記左回転シフタの出力の最下位ビッ
    トをつけ加えたe+1ビットを入力し前記AB変換を行う
    時は入力データをそのまま出力し、前記BA変換を行う時
    は1ビット右回転シフトを行う右回転シフタと、前記入
    力シフタに入力された浮動小数点データの下位mビット
    を入力し前記AB変換を行う時は前記左回転シフタの出力
    の最下位ビットが1の時は入力データの2の補数をとり
    前記左回転シフタの出力の最下位ビットが0の時は入力
    データをそのまま出力し、一方前記BA変換を行う時は入
    力データの絶対値を出力する極性変換器と、該極性変換
    器の出力を入力し前記AB変換を行う時は1ビット右シフ
    トを行い、前記BA変換を行う時は1ビット左シフトを行
    う1ビット左右シフタと、該1ビット左右シフタの出力
    を入力とし前記AB変換を行う時は、前記右回転シフタの
    出力の最下位ビットが0の時は入力データの上位2ビッ
    トを「01」におきかえ前記右回転シフタの出力の最下位
    ビットが1の時は、入力データの上位2ビットを「10」
    におき換え、一方前記BA変換を行う時は入力データの最
    上位ビットを前記右回転シフタの最下位ビットでおき換
    えるビット連結器と前記右回転シフタの上位eビットの
    下位に前記ビット連結器の出力を付加して出力する出力
    レジスタとから構成され、前記AB変換及び前記BA変換の
    双方を短時間に実行できることを特徴とする浮動小数点
    表現変換器。
JP61002444A 1986-01-09 1986-01-09 浮動小数点表現変換器 Expired - Lifetime JP2689414B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61002444A JP2689414B2 (ja) 1986-01-09 1986-01-09 浮動小数点表現変換器
US07/001,910 US4831575A (en) 1986-01-09 1987-01-09 Apparatus for conversion between IEEE standard floating-point numbers and two's complement floating-point numbers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61002444A JP2689414B2 (ja) 1986-01-09 1986-01-09 浮動小数点表現変換器

Publications (2)

Publication Number Publication Date
JPS62160532A JPS62160532A (ja) 1987-07-16
JP2689414B2 true JP2689414B2 (ja) 1997-12-10

Family

ID=11529446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61002444A Expired - Lifetime JP2689414B2 (ja) 1986-01-09 1986-01-09 浮動小数点表現変換器

Country Status (2)

Country Link
US (1) US4831575A (ja)
JP (1) JP2689414B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949291A (en) * 1988-12-22 1990-08-14 Intel Corporation Apparatus and method for converting floating point data formats in a microprocessor
US5161117A (en) * 1989-06-05 1992-11-03 Fairchild Weston Systems, Inc. Floating point conversion device and method
US5038309A (en) * 1989-09-15 1991-08-06 Sun Microsystems, Inc. Number conversion apparatus
US5432727A (en) * 1989-11-02 1995-07-11 Intergraph Corporation Apparatus for computing a sticky bit for a floating point arithmetic unit
US5191335A (en) * 1990-11-13 1993-03-02 International Business Machines Corporation Method and apparatus for floating-point data conversion with anomaly handling facility
JP3178746B2 (ja) * 1991-09-25 2001-06-25 松下電器産業株式会社 浮動小数点数のためのフォーマット変換装置
US5272654A (en) * 1991-09-26 1993-12-21 Advanced Micro Devices, Inc. System for converting a floating point signed magnitude binary number to a two's complement binary number
EP0578950A3 (en) * 1992-07-15 1995-11-22 Ibm Method and apparatus for converting floating-point pixel values to byte pixel values by table lookup
US5268855A (en) * 1992-09-14 1993-12-07 Hewlett-Packard Company Common format for encoding both single and double precision floating point numbers
US5523961A (en) * 1994-10-28 1996-06-04 Cyrix Corporation Converting biased exponents from single/double precision to extended precision without requiring an adder
US5825678A (en) * 1995-03-31 1998-10-20 International Business Machines Corporation Method and apparatus for determining floating point data class
JP3642053B2 (ja) * 2002-02-25 2005-04-27 日本電気株式会社 シンボルデータ変換回路
US7949695B2 (en) * 2004-10-27 2011-05-24 Via Technologies Inc. Two's complement circuit
US8880571B2 (en) * 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media
CN104866281A (zh) * 2014-02-21 2015-08-26 北京国睿中数科技股份有限公司 实现浮点数符号分析替换的装置及方法
US10656913B2 (en) 2018-06-05 2020-05-19 International Business Machines Corporation Enhanced low precision binary floating-point formatting

Also Published As

Publication number Publication date
US4831575A (en) 1989-05-16
JPS62160532A (ja) 1987-07-16

Similar Documents

Publication Publication Date Title
JP2689414B2 (ja) 浮動小数点表現変換器
US7188133B2 (en) Floating point number storage method and floating point arithmetic device
JPH0479013B2 (ja)
JPS59149539A (ja) 固定小数点−浮動小数点変換装置
JPH0474743B2 (ja)
US6205462B1 (en) Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously
JPH07234778A (ja) 演算回路
KR19980082906A (ko) 부동 소수점 숫자의 정수형으로의 변환 방법
US5148161A (en) Digital signal processor for fixed and floating point data
US6546411B1 (en) High-speed radix 100 parallel adder
JPH0540605A (ja) 浮動小数点乗算装置
JP2902041B2 (ja) 浮動小数点数演算装置
JP4163967B2 (ja) 浮動小数点演算装置
JPH0251732A (ja) 浮動小数点演算器
JP2795253B2 (ja) 除算器
JP3187402B2 (ja) 浮動小数点データ加減算回路
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
JP2513354B2 (ja) 浮動小数点演算補助回路
JP3295949B2 (ja) 浮動小数点演算方式とその装置
JP3522167B2 (ja) 演算処理回路及び演算処理方法
JP2890412B2 (ja) 符号変換回路
JPH03251916A (ja) 浮動小数点加減算装置
JPH0540609A (ja) 浮動小数点除算装置
JPH06195206A (ja) 除算器
JPH0659862A (ja) 乗算器

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term