JP2723319B2 - 2進数を10進数に変換する方法 - Google Patents
2進数を10進数に変換する方法Info
- Publication number
- JP2723319B2 JP2723319B2 JP31698989A JP31698989A JP2723319B2 JP 2723319 B2 JP2723319 B2 JP 2723319B2 JP 31698989 A JP31698989 A JP 31698989A JP 31698989 A JP31698989 A JP 31698989A JP 2723319 B2 JP2723319 B2 JP 2723319B2
- Authority
- JP
- Japan
- Prior art keywords
- decimal
- value
- binary
- converted
- bit
- 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 - Fee Related
Links
Landscapes
- Digital Computer Display Output (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 〔概要〕 2進数を10進数に変換する方法に関し, レジスタ1個分の2進数を10進数に変換する10進数化
処理部を利用して,例えばレジスタ2個分の値を持つ2
進数を10進数に変換することができるようにすることを
目的とし, 変換の対象である2進数の先頭部分のビットをオフに
した後に10Mで割り算することによって1レジスタ1個
に格納可能な商W1と余りW2とに分解し,次にそれぞれの
値を,10進数に変換した値W1′と値W2′についてW3′=W
1′×10M+W2′の計算をするとともに,上記オフにされ
たビットに対応する10進数の値を当該W3′に加えて,上
記変換対象である2進数を10進数に変換した値を求める
ように構成する。
処理部を利用して,例えばレジスタ2個分の値を持つ2
進数を10進数に変換することができるようにすることを
目的とし, 変換の対象である2進数の先頭部分のビットをオフに
した後に10Mで割り算することによって1レジスタ1個
に格納可能な商W1と余りW2とに分解し,次にそれぞれの
値を,10進数に変換した値W1′と値W2′についてW3′=W
1′×10M+W2′の計算をするとともに,上記オフにされ
たビットに対応する10進数の値を当該W3′に加えて,上
記変換対象である2進数を10進数に変換した値を求める
ように構成する。
この発明は,2進数を10進数に変換する方法に関する。
従来から,レジスタ1個分の2進数を10進数に変換す
ることのできる10進数化処理部を用いて上記レジスタ1
個分の2進数を10進数に変換することは可能であった。
ることのできる10進数化処理部を用いて上記レジスタ1
個分の2進数を10進数に変換することは可能であった。
従来の変換方法では,例えばレジスタ2個分の2進数
を10進数に変換することは,不可能であったため,計算
機を使用する上での制約条件となっていた。
を10進数に変換することは,不可能であったため,計算
機を使用する上での制約条件となっていた。
本発明は,レジスタ1個分の2進数を10進数に変換す
る10進数化処理部を利用して例えばレジスタ2個分の2
進数を10進数に変換することができるようにすることを
目的としている。
る10進数化処理部を利用して例えばレジスタ2個分の2
進数を10進数に変換することができるようにすることを
目的としている。
第1図は,本発明の原理構成図である。
図において,符号10は先頭部分クリア部,20は除算部,
30は先頭部分ビット変換表,40は10進数化処理部を表し
ている。
30は先頭部分ビット変換表,40は10進数化処理部を表し
ている。
先頭部分クリア部10は,変換対象である2進数の先頭
部分の1つ又は複数のビットをオフにして,オンからオ
フにされたビットの位置を図示の第2の処理段階へ伝え
る。
部分の1つ又は複数のビットをオフにして,オンからオ
フにされたビットの位置を図示の第2の処理段階へ伝え
る。
除算部20は,上記先頭部分クリア部10によって先頭部
分のビットをオフにされた2進数を10Mで割算をして2
進数の商W1及び2進数の余りW2を求める。ただし,Mは整
数であり,10Mを2進数に変換されるとレジスタ1個に格
納可能であるような整数Mが予め設定されている。
分のビットをオフにされた2進数を10Mで割算をして2
進数の商W1及び2進数の余りW2を求める。ただし,Mは整
数であり,10Mを2進数に変換されるとレジスタ1個に格
納可能であるような整数Mが予め設定されている。
先頭部分ビット変換表30は,先頭部分のそれぞれのビ
ットに対応する10進数の値を記憶しておく。
ットに対応する10進数の値を記憶しておく。
10進数化処理部40は,レジスタ1個分の2進数を10進
数に変換することができる。
数に変換することができる。
図示の第1の処理段階では,上記10進数化処理部分40
を用いて,上記商W1と余りW2とを10進数に変換して10進
数のW1′とW2′とを得て,当該変換によって得られた値
W1′と値W2′についてW3′=W1′×10M+W2′の計算を
して10進数W3′を求める。
を用いて,上記商W1と余りW2とを10進数に変換して10進
数のW1′とW2′とを得て,当該変換によって得られた値
W1′と値W2′についてW3′=W1′×10M+W2′の計算を
して10進数W3′を求める。
第2の処理段階では,上記先頭部分クリア部10によっ
てオンからオフにされたビットに対応する10進数の値を
上記先頭部分ビット変換表30を用いて求めて,得られた
値を上記得られている値W3′に加えて合成する。
てオンからオフにされたビットに対応する10進数の値を
上記先頭部分ビット変換表30を用いて求めて,得られた
値を上記得られている値W3′に加えて合成する。
変換の対象である2進数の先頭部分の1又は複数のビ
ットが先頭部分クリア部10によってオフにされる。当該
先頭部分のビットをオフにされた2進数は,除算部20に
よって10Mで割り算をされて,2進数の商W1及び2進数の
余りW2が求められる。ここで,10Mは2進数に変換される
とレジスタ1個に格納可能であるような値であるので,
余りW2もレジスタ1個に格納可能な値になる。また,上
記のように,変換対象である2進数は先頭部分がオフに
されているので,商W1もレジスタ1個分に格納可能な値
となる。つまり,商W1がレジスタ1個に格納可能な値に
なるように先頭部分をオフにしているのである。
ットが先頭部分クリア部10によってオフにされる。当該
先頭部分のビットをオフにされた2進数は,除算部20に
よって10Mで割り算をされて,2進数の商W1及び2進数の
余りW2が求められる。ここで,10Mは2進数に変換される
とレジスタ1個に格納可能であるような値であるので,
余りW2もレジスタ1個に格納可能な値になる。また,上
記のように,変換対象である2進数は先頭部分がオフに
されているので,商W1もレジスタ1個分に格納可能な値
となる。つまり,商W1がレジスタ1個に格納可能な値に
なるように先頭部分をオフにしているのである。
第1の処理段階では,上記商W1及び余りW2は10進数化
処理部によって変換され,10進数の値W1′及び値W2′が
得られ,当該値W1′及び値W2′についてW3′=W1′×10
M+W2′の計算がされて10進数W3′が得られる。
処理部によって変換され,10進数の値W1′及び値W2′が
得られ,当該値W1′及び値W2′についてW3′=W1′×10
M+W2′の計算がされて10進数W3′が得られる。
第2の処理段階では,上記先頭部分クリア部10によっ
てオンからオフにされたビットに対応する10進数の値が
上記W3′に加えられて,当該変換対象である2進数の10
進数に変換された値が求められる。
てオンからオフにされたビットに対応する10進数の値が
上記W3′に加えられて,当該変換対象である2進数の10
進数に変換された値が求められる。
実施例として,レジスタ1個の容量が4バイトである
時のレジスタ2個分即ち8バイト分の値を10進数に変換
する場合を説明する。
時のレジスタ2個分即ち8バイト分の値を10進数に変換
する場合を説明する。
第2図は実施例の処理概要図,第3図は処理Aのフロ
ーチャート,第4図は処理Dの説明図,第5図は処理E
のフローチャート,第6図は先頭部分ビット変換説明図
を表している。
ーチャート,第4図は処理Dの説明図,第5図は処理E
のフローチャート,第6図は先頭部分ビット変換説明図
を表している。
第2図において処理Aより前及び処理Bより後の処理
は変換する2進数の値Vが負である場合の処理である。
値Vが負である時には,以下の処理を行う。
は変換する2進数の値Vが負である場合の処理である。
値Vが負である時には,以下の処理を行う。
(i)値Vの先頭4バイトの2の補数に1を加えた値を
X1に代入する。
X1に代入する。
(ii)値Vの下位4バイトの2の補数をX2に代入する。
(iii)X2でオーバーフローが発生した場合にはX1を加
える。
える。
(iv)X1をVの上位4バイトに,X2をVの下位4バイト
にそれぞれ代入する。
にそれぞれ代入する。
(v)処理Aないし処理Eの後に,変換した値の先頭に
マイナスの符号をつける。
マイナスの符号をつける。
処理A即ち先頭部分のビットをオフにする処理は第3
図のフローチャートに従い実行される。始めにフラグ
M1,M2,M3をリセットしてオフにおく。次に値Vの先頭か
ら2ビット目がオンであれば,当該2ビット目をオフに
して,フラグM1をオンにする。以下3ビットと4ビット
目についても同様である。
図のフローチャートに従い実行される。始めにフラグ
M1,M2,M3をリセットしてオフにおく。次に値Vの先頭か
ら2ビット目がオンであれば,当該2ビット目をオフに
して,フラグM1をオンにする。以下3ビットと4ビット
目についても同様である。
処理Bでは,処理Aによって先頭部分のビットをオフ
にされた値を109で割り,商W1と余りW2とを求める。
にされた値を109で割り,商W1と余りW2とを求める。
処理Cでは値W1と値W2とをそれぞれ10進数に変換し
て,値W1′と値W2′とを求める。
て,値W1′と値W2′とを求める。
処理D即ちW3′=W1′×109+W2′の計算をする処理
は第4図図示の如く行われる。W3′の為に20バイトの領
域を用意して,上記処理Cで得られた値W2′の各桁を下
位9バイトのそれぞれのバイトの下位4ビットに代入す
る。同様に値W2′の各桁を,上位11バイトにおいて下位
のバイトから順に各バイトの下位4ビットに代入する。
第4図においてIは各々のバイトに付された番号であ
る。
は第4図図示の如く行われる。W3′の為に20バイトの領
域を用意して,上記処理Cで得られた値W2′の各桁を下
位9バイトのそれぞれのバイトの下位4ビットに代入す
る。同様に値W2′の各桁を,上位11バイトにおいて下位
のバイトから順に各バイトの下位4ビットに代入する。
第4図においてIは各々のバイトに付された番号であ
る。
処理E即ち変換した値にOFFしたビット分を加える処
理は,第5図図示のフローチャートに従い実行される。
ただしMAT1(I),MAT2(I)ないしMAT3(I)は第6
図に示した値である。
理は,第5図図示のフローチャートに従い実行される。
ただしMAT1(I),MAT2(I)ないしMAT3(I)は第6
図に示した値である。
(i)W3の各々のバイトの先頭4ビットをOFFにする。
(ii)Zに0を代入する。
(iii)W3の各バイトW3(I)についてI=19からI=
1まで順に下記(a)及び(b)の処理を行う。
1まで順に下記(a)及び(b)の処理を行う。
(a)Y=W3(I)+MAT1(I)×M1+MAT2 (I)×M2+MAT3(I)×M3+Z (b)÷10の商をZに,余りをW3(I)に代入する。
(iv)W3の各々のバイトの先頭4ビットをONにして文字
に変換する。
に変換する。
以上の結果W3は変換する値Vを10進数に変換した値の
文字列となる。
文字列となる。
具体的に,上記方法によって V=(48ABCDEFABCDEFAB)16 を10進数変換する場合について説明する。
(i)処理Aによって先頭の2ビット目ないし4ビット
目がオフにされて, V=(08AB…FAB)16 となりM1=1,M2=0,M3=0となる。
目がオフにされて, V=(08AB…FAB)16 となりM1=1,M2=0,M3=0となる。
(ii)処理部Bによって,上記V=(08AB…FAB)16が1
09で割られ, W1=(253 DFCCA)16, W2=(22D28BAB)16 が求められる。
09で割られ, W1=(253 DFCCA)16, W2=(22D28BAB)16 が求められる。
(iii)処理Cによって上記W1,W2がそれぞれ10進数に変
換され W1=624819402, W2=584223659 が求められる。
換され W1=624819402, W2=584223659 が求められる。
(iv)処理Dによって W3′=624819402584223659 が求められる。
(v)処理Eによって,変換表の値を,0にしたビット値
の部分だけ加える。この結果 W3=5236505421011611563 であり,このようにして上記値Vを10進数に変換した値
が得られる。
の部分だけ加える。この結果 W3=5236505421011611563 であり,このようにして上記値Vを10進数に変換した値
が得られる。
上記説明の如く,変換する2進数の値の先頭部分のビ
ットをオフにするとともに,109で割り算をしてレジスタ
1個分の値位W1と値W2に分解しておいて,値W1と値W2と
をそれぞれ10進数に変換した後に合成するという手法を
とることによって,レジスタ1個分のビット数以上の2
進数を10進数に変換することが可能となった。
ットをオフにするとともに,109で割り算をしてレジスタ
1個分の値位W1と値W2に分解しておいて,値W1と値W2と
をそれぞれ10進数に変換した後に合成するという手法を
とることによって,レジスタ1個分のビット数以上の2
進数を10進数に変換することが可能となった。
第1図は本発明の原理構成図,第2図は実施例の処理概
要図,第3図は処理Aのフローチャート,第4図は処理
Dの説明図,第5図は処理Eのフローチャート,第6図
は先頭部分ビット変換説明図を表している。 図中,10は先頭部分クリア部,20は除算部,30は先頭部分
ビット変換表,40は10進数化処理部を表している。
要図,第3図は処理Aのフローチャート,第4図は処理
Dの説明図,第5図は処理Eのフローチャート,第6図
は先頭部分ビット変換説明図を表している。 図中,10は先頭部分クリア部,20は除算部,30は先頭部分
ビット変換表,40は10進数化処理部を表している。
Claims (1)
- 【請求項1】レジスタ1個分の2進数を10進数に変換す
る10進数化処理部(40)をそなえ,当該10進数化処理部
(40)を用いて上記レジスタに収容できるビット数以上
の2進数を10進数に変換する方法において, 上記変換対象である2進数の先頭部分の1個又は複数の
ビットをオフにして,オンからオフにされたビットの位
置を第2の処理段階へ伝える先頭部分クリア部(10)
と, 上記先頭部分をオフされたクリヤ後の2進数を数値10M
(Mはあらかじめ設定された整数)で割り算をして,2進
数の商W1と2進数の余りW2とを求める除算部(20)と, 上記オフされた先頭部分のそれぞれのビットに対応する
10進数の値を記憶する先頭部分ビット変換表(30)とを
そなえ, 上記10進数化処理部(40)を用いて,上記商W1と余りW2
とを10進数に変換して10進数W1′とW2′とを得て、当該
変換された値W1′及びW2′についてW3′=W1′×10M+W
2′の計算をして10進数W3′を求める第1の処理段階
と, 上記先頭部分クリア部(10)によってオンからオフにさ
れたビットに対応する10進数の値を上記先頭部分ビット
変換表(30)を用いて求めて,得られた値を上記得られ
ている値W3′に加えて合成する第2の処理段階とによっ
て, 2進数を10進数に変換するようにした ことを特徴とする2進数を10進数に変換する方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31698989A JP2723319B2 (ja) | 1989-12-06 | 1989-12-06 | 2進数を10進数に変換する方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31698989A JP2723319B2 (ja) | 1989-12-06 | 1989-12-06 | 2進数を10進数に変換する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03176729A JPH03176729A (ja) | 1991-07-31 |
JP2723319B2 true JP2723319B2 (ja) | 1998-03-09 |
Family
ID=18083179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31698989A Expired - Fee Related JP2723319B2 (ja) | 1989-12-06 | 1989-12-06 | 2進数を10進数に変換する方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2723319B2 (ja) |
-
1989
- 1989-12-06 JP JP31698989A patent/JP2723319B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03176729A (ja) | 1991-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0806732B1 (en) | Data searching apparatus | |
JPS6360569B2 (ja) | ||
JP2723319B2 (ja) | 2進数を10進数に変換する方法 | |
JPS6315619B2 (ja) | ||
JPS5892077A (ja) | 巻片編集印刷装置 | |
US6092073A (en) | Year 2000 compliance method which overlays day and/or month fields with century data to expand single century systems to handle multiple century data | |
JPS58181142A (ja) | m進−n進変換装置 | |
JP2606580B2 (ja) | 数値データ演算方法 | |
SU1378064A1 (ru) | Преобразователь кода дробного числа из одной системы счислени в другую | |
JPS58127445A (ja) | 誤り訂正方式 | |
JP3055558B2 (ja) | nビット演算装置 | |
JP2820701B2 (ja) | 2進数への変換方法 | |
JP2624738B2 (ja) | 丸め処理方式 | |
JPS5939048B2 (ja) | コ−ド変換方式 | |
JP2650271B2 (ja) | 輪郭情報の格納方法 | |
JP2752220B2 (ja) | 文字列処理装置 | |
JPH0435775B2 (ja) | ||
JPS61156924A (ja) | 符号変換方式 | |
JPS5895386A (ja) | 漢字パタ−ン記憶方式 | |
JPH0381175B2 (ja) | ||
SU1381717A1 (ru) | Преобразователь кодов | |
SU894699A1 (ru) | Преобразователь двоичного кода в двоично-дес тичный | |
JPS59184941A (ja) | 漢字コ−ド変換方法 | |
JP3278488B2 (ja) | 10進演算装置 | |
JP3032239B2 (ja) | 可変長符号の復号回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |