JPH01157621A - 2進数から10進数bcdコードへの変換装置 - Google Patents

2進数から10進数bcdコードへの変換装置

Info

Publication number
JPH01157621A
JPH01157621A JP31525087A JP31525087A JPH01157621A JP H01157621 A JPH01157621 A JP H01157621A JP 31525087 A JP31525087 A JP 31525087A JP 31525087 A JP31525087 A JP 31525087A JP H01157621 A JPH01157621 A JP H01157621A
Authority
JP
Japan
Prior art keywords
bcd
register
processing
binary
bits
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
JP31525087A
Other languages
English (en)
Inventor
Tsuneo Kawagoe
川越 常生
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP31525087A priority Critical patent/JPH01157621A/ja
Publication of JPH01157621A publication Critical patent/JPH01157621A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、計算機等の演算処理等において使用される2
進数を2進化10進数(以下、BCDという)に変換す
る変換装置に関する。
従来の技術と問題点 2進数をBCDに変換する変換装置としては、従来、2
進数が16ビット程度以下である場合には、ROMによ
る変換テーブルを用いるものや、2進数の桁数が大きく
なるとROMによるテーブルと加算回路で構成したもの
、また、8・4・2・1コードから5・4・2・1コー
ドへのコード変換回路を用いるもの、16・8・4・2
・1から10・5・4・2・1コードへのコード変換回
路を用いるもの等がある。
さらに、各桁の10のべぎ乗で除算を繰り返して求める
か、各桁の10のべき乗で減算を繰り返して求める方法
がとられている。
上記除算を繰返したり、減算を繰り返す方法では処理時
間が長くなるという問題があった。
そこで、本発明の目的は、処理時間の短い2進数からB
CD数への変換装置を提供することにある。
問題点を解決するための手段 第1図は、本発明が採用した上記問題点を解決するため
の手段のブロック図であり、本発明は、処理可能な2進
数の最上位ビットに対応する10進数を該10進数の桁
数より1つ少ない数の10のべぎ数で除し、さらに2を
乗じた値を変換係数として記憶する係数記憶手段1と、
変換すべき2進数と上記係数記憶手段1に記憶された変
換係数を乗じる乗算手段2と、該乗算手段2の算出値を
格納するレジスタ3と、該レジスタ3の上位4ビットを
「○」とし上位側へのシフトと加算によりレジスタの値
を10倍にする処理手段4と、上記乗算手段2及び上記
処理手段4によって得られた上記レジスタ3の上位4ビ
ットのデータを記憶するBCDコード記憶手段5と、該
BCDコード記憶手段5に必要とする桁の数のデータが
記憶されるまで上記処理手段4の処理を繰り返すよう制
御する制御手段6とを設(プることによって2進数を2
進化10進コードに変換することにより」二記問題点を
解決した。
作  用 処理可能な2進数の最上位ピッ1〜に対応する10進数
をAとし、その10進数の桁を0桁とすると、上記変換
係数Qは次の第(1)式のようになり、この変換係数の
フォーマットを上位4ビットを整数とし残りのビット(
m−4)を小数とする(ただし、mは演算レジスタのピ
ッ1〜数)Q=Ax10”−1)x2     ・・・
・・・(1)この変換係数は2進数の最上位ビットが「
1」に対する重みを意味しており、該変換係数Qに最上
位ビットを整数とし最上位ビットと次のピッ1〜間に小
数点があるとする固定小数点とした2進数を乗じて得ら
れる上位4ビットの整数部は変換したBCD数の最上位
の数を表わすことになる。そこで、変換係数Qと変換す
べき2進数を乗算手段で乗算して得られた値を記憶する
レジスタの上位4ビットより上記整数部の数をBCDコ
ード記憶手段5に記憶し、上記上位4ビットを10」に
してレジスタの値を処理手段4によって10倍し次の桁
の値を求め、BCDコード記憶手段5に記憶する。以下
、必要とする桁まで繰り返すことによって、2進数のB
CDが得られる。
実施例 以下、16ビットの2進正整数のBCD数への変換の実
施例について説明する。
16ビットの最上位ビットに対する10進数は215=
32768 (10進数を表わすため327681oと
表わす)であり、5桁の数であるので変換係数Qは −(5−1)X2 Q=327681oX10 =3.27681ox2 となり、16進数ではQ三68DBA (H)となり、
16ヒ゛ツ1〜に丸めて、Q三68DC(H)となる。
この変換係数を2進表示すると第3図aに示すものとな
り、該変換係数のフォーマットを第2図に示すように上
位4ビットを整数とし、残りのビット(m−4>を小数
とする(ただし、mはレジスタのビット数)。
そこで、BCD数に変換すべき2進数として2””=8
000 (H)(三327681o)とすると、この2
進数は第3図すに示すものとなる。この2進数215と
変換係数Qを乗じたものは第3図Cとなり、上位4ビッ
トはroollJとなり10進数の「3」となる。次に
、上位4ビットを「0」にしく第3図d)、10倍処理
を行うが、第3図の例では、第3図dで示す値を1回シ
フト(2倍)したもの(e)と3回シフト(23−8倍
)したもの(f)を加えて10倍としている(Q)。こ
の10倍とした値(Q)の上位4ビットはrooloJ
となり10進数の「2」を表わす。以下同様に処理して
いくと、第3図に示すように、変換係数Qに変換すべき
2進数を乗じて得た値の上位4ビットを読出し、及び、
これ以後上位4ビットを「0」にし、10倍処理した後
の上位4ビットを読出し、順次繰返し処理し必要とする
桁まで行えば、読出された上位4ピツ1〜の6値は2進
数をBCD数に変換した値、上記例では32768を示
ずこととなる。
第4図は同様に、2進数を214ヨ163841゜をB
CD数に変換する処理を示したもので、この第4図でも
示されるように、各処理後の上位4ビッ1〜を読出ずと
、2進数2  =1638418がBCD数のN 63
84Jが得られることを示している。
このようにして、2進数をBCD数に変換することがで
きるので、乗算器と乗算結果を格納するレジスタをシフ
トする手段等を専用回路で構成して変換器を構成しても
よいが、本実施例においては、この変換器をマイクロコ
ンピュータによって行う例を示ず。なお、マイクロコン
ピュータは、変換係数Qを設定する手段、記憶するメモ
リを有する通常のマイクロコンピュータシステムでよく
、そのハードウェア構成は省略する。
第5図は、該マイクロコンピュータで2進数とBCD数
に変換する処理のフローチャートである。
まず、BCD数に変換すべぎ2進数Xが入力されるか、
またはメモリから読出されると(ステップS1)、メモ
リ内に格納されている変換係数Qを読出しくステップS
2)、2進数Xと変換係数Qを乗じ、得られた値をレジ
スタRに格納しくステップS3)、指標1を1にセラ(
−シ(ステップS4)、レジスタRの上位4ビットを読
出しBCD数を記憶するレジスタDi(=D1)に記憶
する(ステップS5)。次に、レジスタRの上位4ビッ
トを「0」にしくステップs6)、指標1が設定された
BCD数として表示すべき桁数nが否か判断しくステッ
プS8)、指標1がnに達してなければ、レジスタRの
値を10倍するくステップS9)。この10倍処理は前
述したようにレジスタRを1回上位側にシフトした値と
3回上位側にシフトした値を加算づ−ることにより(2
信子23倍=10倍)行ってもよく、ま1cは、2回シ
フトしたもの(22=4倍)を加算しく22−1−2−
8倍)、これに1回シフトしたもの(2倍)を加算する
(2  +22+2=10倍)処理でもよい。
そして、再びステップ85以下の処理を繰り返し、指標
iがnになるまで行う。そして、指標1が必要とする桁
数nになるとレジスタD1.D2・・・・・Dnには2
進数XをBCD数に変換した各桁の値が上位から順に記
憶されていることとなる。
例えば前述した例の2進数Xが215であると、隅−3
D2−2D3−7D4−6D5 −8 が記憶されており、2進数215をBCD数に変
換した32768が記憶されていることとなる。また、
2進数Xが2 であれば、Dl−1D2−6D3−3D
4−8D5=4の 16384が記憶されることとなる。
こうして、レジスタD1〜Dnに2進数XをBCD数に
変換した数が得られる。
発明の効果 本発明は、2進数とBCD数に変換するために1回の乗
算と数回のシフトと加算処理のみでBCD数が(qられ
るので、短時間の処理で2進数をBCD数に変換できる
−〇 −
【図面の簡単な説明】
第1図は本発明が従来技術の問題点を解決するために採
用した手段のブロック図、第2図は変換係数の)A−マ
ット、第3図は2進数215をBCD数に変換する処理
の説明図、第4図は2進数214をBCD数に変換する
処理の説明図、第5図は本発明の一実施例のマイクロコ
ンピュータによる2進数をBCD数に変換する処理のフ
ローチャートである。 特許出願人  ファナック株式会社 第 4 図

Claims (1)

    【特許請求の範囲】
  1. 処理可能な2進数の最上位ビットに対応する10進数を
    該10進数の桁数より1つ少ない数の10のべき数で除
    し、さらに2を乗じた値を変換係数として記憶する係数
    記憶手段と、変換すべき2進数と上記係数記憶手段に記
    憶された変換係数を乗じる乗算手段と、該乗算手段の算
    出値を格納するレジスタと、該レジスタの上位4ビット
    を「0」とし上位側へのシフトと加算によりレジスタの
    値を10倍にする処理手段と、上記乗算手段及び上記処
    理手段によつて得られた上記レジスタの上位4ビットの
    データを記憶するBCDコード記憶手段と、該BCDコ
    ード記憶手段に必要とする桁の数のデータが記憶される
    まで上記処理手段の処理を繰り返すよう制御する制御手
    段とを有し、上記BCDコード記憶手段に記憶されたデ
    ータによつて2進数の2進化10進コードに変換された
    値を表わす2進数から10進数BCDコードへの変換装
    置。
JP31525087A 1987-12-15 1987-12-15 2進数から10進数bcdコードへの変換装置 Pending JPH01157621A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31525087A JPH01157621A (ja) 1987-12-15 1987-12-15 2進数から10進数bcdコードへの変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31525087A JPH01157621A (ja) 1987-12-15 1987-12-15 2進数から10進数bcdコードへの変換装置

Publications (1)

Publication Number Publication Date
JPH01157621A true JPH01157621A (ja) 1989-06-20

Family

ID=18063175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31525087A Pending JPH01157621A (ja) 1987-12-15 1987-12-15 2進数から10進数bcdコードへの変換装置

Country Status (1)

Country Link
JP (1) JPH01157621A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0820148A2 (en) * 1996-07-17 1998-01-21 Mitutoyo Corporation Code translation circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0820148A2 (en) * 1996-07-17 1998-01-21 Mitutoyo Corporation Code translation circuit
EP0820148A3 (en) * 1996-07-17 1999-03-17 Mitutoyo Corporation Code translation circuit

Similar Documents

Publication Publication Date Title
JPS6132437Y2 (ja)
JPH01157621A (ja) 2進数から10進数bcdコードへの変換装置
JPH0462617B2 (ja)
US4325056A (en) BCD To binary converter
JPH0831024B2 (ja) 演算プロセッサ
JP2734438B2 (ja) 乗算装置
JPH02126317A (ja) データ形式変換方式
JP2777265B2 (ja) 高基数開平演算装置
JPH01173922A (ja) 固定小数点2進/10進bcdコード変換装置
JP3278488B2 (ja) 10進演算装置
JPS6124851B2 (ja)
JP3539077B2 (ja) 並列演算方式による除算方法
JPS59139443A (ja) コ−ド変換方式
JPS58119047A (ja) 10進乗算又は除算装置
SU1001079A1 (ru) Преобразователь двоичного кода в код системы остаточных классов
JP3460780B2 (ja) 数値演算装置
JP2928027B2 (ja) 十進二進変換回路
JPH0690176A (ja) 2進10進変換回路
JPS585838A (ja) シフト回路
JP2004295345A (ja) 演算装置及び乗算装置
JPS59197936A (ja) デイジタル信号処理方式
JPS62200917A (ja) デ−タ変換方法
JPH0242251B2 (ja)
JPH0213495B2 (ja)
JPH04263317A (ja) 演算装置