JP2713283B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2713283B2
JP2713283B2 JP6217696A JP6217696A JP2713283B2 JP 2713283 B2 JP2713283 B2 JP 2713283B2 JP 6217696 A JP6217696 A JP 6217696A JP 6217696 A JP6217696 A JP 6217696A JP 2713283 B2 JP2713283 B2 JP 2713283B2
Authority
JP
Japan
Prior art keywords
code
bcd
decimal
data
unit
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
JP6217696A
Other languages
English (en)
Other versions
JPH08263264A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP6217696A priority Critical patent/JP2713283B2/ja
Publication of JPH08263264A publication Critical patent/JPH08263264A/ja
Application granted granted Critical
Publication of JP2713283B2 publication Critical patent/JP2713283B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、電子計算機におけるデ
ータ処理装置に関する。 【0002】 【従来の技術】コンピュータによる事務処理では、数値
計算は2進演算よりも高速性の点で不利ではあるが一般
的に10進演算により行っている。 【0003】10進演算は当然ながら10進データどう
しの演算であり、たとえば加算演算であるならば、加算
数も被加算数も10進データでありそれらを加算する。 【0004】10進データの表現形式としては例えばB
CDコードにより「0」〜「9」までの10進1桁の数
値を4ビットで表現し、1バイトに10進2桁を格納す
るパック形式がある。 【0005】図6(a)に従来用いられていたBCDの
パック形式を示す。同図(a)は、1語が32ビットの
パック10進数を示しており、小数点は最下位バイトB
1の上位4ビットの右Pの位置に置き、最下位バイトB
1の下位4ビットSの最下位ビットで符号を表わしてい
る。例えば、前記最下位ビットが“0”の時に正、
“1”の時に負の10進数となる。また、最下位バイト
B1の上位4ビットdlから最上位バイトB4の上位4
ビットd7に4ビット2進数が格納され、固定長32ビ
ットで「d7,d6,d5,・・・d3,d2,d1」
の7桁の10進数を表現する。パック10進数の具体例
を同図(b)に示す。同図(b)は、5桁の負の10進
数「一98003」を表わすBCDのパック形式であ
り、最下位バイトB1の下位ビットSの最下位ビットが
「1」となっている。また、5桁の10進数であるため
最上位バイトB4は“00”(16進)となっており、
バイトB3,B2,及び最下位バイトB1の上位4ビッ
トに2進コードの“1001”(d5),“1000”
(d4),“0000”(d3),“0000”(d
2),“0010”(dl)が格納されている。 【0006】 【発明が解決しようとする課題】従来は、図6(a)で
示したように固定長で10進数(BCD)を表現してい
る。したがって、固定長32ビットの7桁の10進数を
用いた場合、6桁以下の10進数を記憶すると、不要な
桁(“0000”)も記憶しなければならず、メモリの
利用効果が悪い。例えば、図6(b)の場合、最上位バ
イトB4はデータとして意味のない“0000000
0”であるから不要である。このため、可変長で10進
数を表現すれば、不要なデータを含まないので、10進
数データを圧縮して記憶することができ、メモリの利用
効果が向上すると考えられる。 【0007】しかし、UNIX(C言語システム)等の
オペレーティングシステムでは、文字列の終端にNUL
Lコード(“00000000”)を付加して文字列の
終わりを示すという約束がある。なお、UNIXでは上
記の約束に沿って各種の関数が標準的に提供されてシス
テムが構成されているので、NULLコード以外のコー
ドを区切りコードを使用すると、様々な不都合が生じて
無駄が多い。従って10進数を可変長で表現した場合、
10進数データの00(“00000000”)をNU
LLとみなしてしまう。例えば、図6(b)に示す固定
長4バイトの「−98003」を図6(c)に示すよう
に可変長3バイトの「−98003」のように表現する
と、バイトB2が(“00000000”)となり、オ
ペレーティングシステムはバイトB2をNULLとみな
してしまう。また、NULLコード以外のコードは文字
コード,数値コード,記号コードとして既に規定されて
いるので区切りコードには使用できない。 【0008】従って、従来のデータ処理装置では、BC
Dコードによる数値データを可変長で処理できないとい
う不都合があった。 【0009】本発明の課題は、BCDコードで表現され
た数値データをオペレーティングシステムの区切りコー
ドを避けたコードに変換して、可変長データでメモリに
効率良く記憶でき、10進演算を行なう際にはメモリか
ら読み出されたコードを元のBCDコードに変換して演
算できるようにすることである。 【0010】 【課題を解決するための手段と作用】本発明のデータ処
理装置は、1バイトで2桁の数値を示すパック形式のB
CDコードで表現された数値データの各バイトに特定の
数値を加算し上記BCDコードをオペレーティングシス
テムで使用する区切りコードとは別のコードに変換する
コード変換手段と、このコード変換手段により変換され
たコードをメモリに記憶する手段と、10進演算を行な
う際に上記メモリから読み出されたコードの各バイトか
ら上記コード変換手段で加算された上記特定の数値を減
算してBCDコードに変換して演算手段に出力する手段
とを具備したことを特徴とする。 【0011】従って、BCDコードで表現された数値デ
ータをオペレーティングシステムの区切りコードを避け
たコードに変換して可変長データでメモリに記憶できる
と共に、10進演算を行なう際はメモリから読み出され
たコードを元のBCDコードに変換して演算できる。 【0012】 【実施例】以下、図面を参照しながら本発明の実施例に
ついて説明する。図1は、本発明のデ−タ処理装置の一
実施例のブロック図である。同図において、データ入力
部11は例えばキーボード等の入力装置であり、デ−タ
入カ部11から入カされたキ−人力データは、キーボー
ド・ドライバ等のJISコード変換部12により対応す
るJISコードに変換され10進文字判別部13に送ら
れる。10進文字判別部13は、入力するJISコード
が10進文字(16進で、「30」〜「39」の値)で
あるかどうか判別し、10進文字であればJISコード
をBCD生成部14に出力する。BCD生成部14は入
力する2バイトのJISコードを1バイトのBCDに変
換し+1BCD生成部15に出力する。+1BCD生成
部15は、入力されるBCDデータに“01”(16
進)を加算し順次記憶する。以下、+1BCD生成部1
5により生成されるデータを+1BCDと記す。 【0013】また、10進文字判別部13が10進文字
以外のJISコードを入力すると+1BCD出力部16
は、+1BCD生成部15から+1BCDを読み出し、
+1BCDに可変長データの終了を示すデリミタを付加
し、図示していないメモリの所定領域に書き込む。 【0014】一方、図示していない外部装置から+1B
CDからBCDへの変換命令がデータ処理装置に加わる
と+1BCD入力部17はメモリに記憶された可変長の
+1BCDをバイト単位で読み出しデリミタ判別部18
に出力する。デリミタ判別部18は入力される+1BC
Dがデリミタであるかどうか判別し、+1BCD入力部
17によりメモリから読み出された+1BCDがデリミ
タ判別部18によりデリミタでないと判別すると、BC
D変換部19はその+1BCDから1を減算しBCDに
変換する。以上の動作は、デリミタ判別部18が+1B
CD入力部17の読み出す+1BCDがデリミタに等し
いと判別するまで繰り返される。デリミク判別部18に
より可変長の+1BCDの区切りコードであるデリミタ
が検出されると、すなわちBCD変換部19により可変
長の+1BCDの全てのバイトがBCDに変換される
と、BCD出力部20はBCD変換部19により変換さ
れたBCDを図示していない演算装置へ出力する。 【0015】尚、図1で一点鎖線で囲んだ、10進文字
判別部13、BCD生成部14、+1BCD生成部1
5、+1BCD出力部16、+1BCD入力部17、デ
リミタ判別部18、BCD変換部19及びBCD出力部
20はマイクロコンピュータによって構成できる。 【0016】次に、本実施例のデータ処理装置の10進
データの格納方法を図2(a)〜(c)を参照しながら
説明する。 【0017】まず、データ入力部11により“9810
2”の10進データがキー入力されると、JISコード
変換部12により図2(a)に示すB1〜B5の5バイ
トの“98102”のJISコードに変換される。図
中、10進文字で示しているが、実際には「39,3
8,31,30,32」のJISコードが格納される。
次に、BCD生成部14は、図2(a)の5バイトのJ
ISコードを同図(b)のB1〜B3に示す3バイトの
BCD「09,81,02」に変換する。BCD生成部
14により生成された3バイトの「09,81,02」
に対し+1BCD生成部15は“01”(16進)を加
算し、同図(c)に示すB1〜B3の3バィトの「0
A,82,03」の+1BCDに変換する。そして、生
成した可変長の+1BCD「0A,82,03」の最後
にデータの区切りコードを示すデリミタDを付加しメモ
リに格納する。 【0018】次に、以上のように構成されたデータ処理
装置の動作を図3のフローチャートを参照しながら説明
する。 【0019】例えば、表計算処理において、オペレータ
がCRTに表示される数値項目欄にデータ入力部11を
介して10進数値データを入力すると、データ処理装置
は以下の様な動作を行う。 【0020】まず、データ入力部11により10進数値
データが入力されると、JISコード変換部12は入力
された10進の数値データをJISコードに変換する。
10進文字判別部13は、JISコード変換部12から
10進の数値データの最初のJISコードの1文字の入
力により(処理ST1)、そのJISコードが10進文
字(「“30”から“39”」までの16進値)である
かどうか判別する(処理ST2)。そして、10進文字
であれぱ10進文字判別部13はデータ入力部11によ
り次に入力された数値データをJISコード変換部12
から入力し(処理ST3)10進文字であるかどうか判
別する(処理ST4)。そして、10進文字であると判
別すれば、前記処理ST1、ST3で入力された2バイ
トの10進文字をBCD生成部14により1バイトのB
CDに変換し(処理ST5)、次に+1BCD生成部1
5でBCD生成部14により変換されたBCDに“0
1”(16進値)を加算する(処理ST6)。 【0021】上記処理ST1〜ST6は、前記処理ST
2または処理ST4で10進文字判別部13で、10進
文字以外のJISコードが判別されるまで繰り返され
る。 【0022】したがって、例えばデータ入力部11によ
り“4321”の偶数桁の10進数値データが入力され
ると、その数値データは処理ST1〜処理ST6により
“0100,0100,0010,0010”(442
2)の2バイトの+1BCDに変換される。 【0023】一方、上記処理ST4で10進文字判別部
13により10進文字以外の文字(例えば、データの終
了を示すNULLコード等)が判別されるとデータ入力
部11から入力された10進数は奇数桁であるので、B
CD生成部14は文字の「0」〔JISコードの30
(16進)〕を入力し(処理ST7)、処理ST1で最
後に入力された10進文字をバイトの下位4ビット、処
理ST7で入力された10進文字「0」をバイトの上位
4ビットとするBCDを生成する(処理ST8)。次に
+1BCD生成部15は前記BCDに“01”(16
進)を加算し(処理ST9)、+1BCD出力部16は
+1BCD生成部15により生成された可変長の+1B
CDに1バイトのデリミタを付加し、メモリの所定領域
に書き込む(処理ST10)。 【0024】したがって、データ入力部11により例え
ば奇数桁の10進数“123”が入力されるとデータ処
理装置による上記処理ST1〜ST4,ST7〜ST1
0にょり“00000010,00100100”(2
24)の2バイトの+1BCDに変換される。 【0025】また、上記処理ST2で10進文字判別部
13が10進文字以外の文字例えばNULLコードを判
別すると、+1BCD出力部16は、+1BCD生成部
15により生成された+1BCDにデリミタを付加して
メモリの所定領域に書き込む(処理ST10)。 【0026】したがって、例えばデータ入力部11から
“2222”のような偶数桁の10進数が入力された場
合にはデータ処理装置により“00100011,00
100011”(2323)の2バイトの+1BCDに
変換される。 【0027】次にデータ処理装置が表計算等の10進演
算を行う時に+1BCDをBCDに変換する動作を図4
のフローチャートにより説明する。 【0028】まず、+1BCD入力部17は、メモリ
(不図示)の所定領域から+1BCDの先頭の1バイト
のデータを読み出す(処理SU1)。次に、デリミタ判
別部18はその読み出された1バイトのデータがデリミ
タであるかどうか判別し(処理SU2)、デリミタでな
ければBCD変換部19は、そのデータから“01”
(16進)を減算する(処理SU3)。上記処理SU1
〜SU3は、処理SU2でデリミタ判別部18によりデ
リミタが判別されるまで繰り返される。 【0029】したがって、例えば“00110011,
001100l1”(3333)の+1BCDは、処理
SU1〜SU3により“00110010,00110
010”(3232)のBCDに変換される。 【0030】一方、上記処理SU2でデリミタ判別部1
8がデリミタを判別するとBCD出力部20はBCD変
換部19により変換されたBCDを読み出し演算装置
(不図示)等へ出力する。 【0031】このように、本実施例によれば、オペレー
タがキーボードから入力する10進数を可変長の+1B
CDに変化してメモリ効率よく記憶することができる。
そして、10進演算の場合はメモリから+1BCDを読
み出してBCDに変換した後演算を行なえばよい。 【0032】尚、BCDコードの10進数をオペレーデ
ィング・システムの区切りコードである「00」,「F
D」,「FE」,「FF」(以上16進値)、を避けた
コ−ドに変換するために、本実施例のように1を加算す
る以外に、「02」,「11」(以上16進値)等を加
算するようにしてもよい。 【0033】また、本実施例では指数部なしの+1BC
Dに変換しているが、図5に示すように符号+指数部か
ら成る1バイトSEを有する可変長の+1BCDに変換
することも可能である。同図においてdl〜dnは+1
BCDであり、Dはデリミタである。符号+指数部のバ
イトSEは、例えば同図に拡大して示すように、下位5
ビットbl〜b5で指数値を、第6ビットSeが指数の
符号(正、負)を表わし、第7ビットSnが可変長の+
1BCDの符号を示す。例えば、図5(b)に示す「2
4,46,68,8A,01」は、23456789×
100=23456789の10進数を表わす。 【0034】 【発明の効果】以上詳細に説明したように、本発明によ
れば、BCDコードで表現された数値データをオペレー
ティングシステムの区切りコード例えばNULLコード
(16進の“00”)等を避けたコードに変換して、可
変長データでメモリに効率良く記憶でき、10進演算を
行なう際にはメモリから読み出されたコードを元のBC
Dコードに変換して演算できる。
【図面の簡単な説明】 【図1】本発明によるデータ処理装置の一実施例のブロ
ック図である。 【図2】(a)〜(c)は、本実施例のデータ処理の方
法を説明する図である。 【図3】本実施例の+1BCD変換の動作を説明する図
である。 【図4】本実施例の+1BCDからBCDへの変換の動
作を説明する図である。 【図5】(a),(b)は、本発明により変換される+
1BCDの他のデータ形式を示す図である。 【図6】(a)〜(c)は、従来のBCDの表現方法を
説明する図である。 【符号の説明】 11 データ入力部 12 JISコード変換部 13 10進文字判別部 14 BCD生成部 15 +1BCD生成部 16 +1BCD出力部 17 +1BCD入力部 18 デミリタ判別部 19 BCD変換部 20 BCD出力部

Claims (1)

  1. (57)【特許請求の範囲】 1.1バイトで2桁の数値を示すパック形式のBCDコ
    ードで表現された数値データの各バイトに特定の数値を
    加算し上記BCDコードをオペレーティングシステムで
    使用する区切りコードとは別のコードに変換するコード
    変換手段と、このコード変換手段により変換されたコー
    ドをメモリに記憶する手段と、10進演算を行なう際に
    上記メモリから読み出されたコードの各バイトから上記
    コード変換手段で加算された上記特定の数値を減算して
    BCDコードに変換して演算手段に出力する手段とを具
    備したことを特徴とするデータ処理装置。
JP6217696A 1996-03-19 1996-03-19 データ処理装置 Expired - Lifetime JP2713283B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6217696A JP2713283B2 (ja) 1996-03-19 1996-03-19 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6217696A JP2713283B2 (ja) 1996-03-19 1996-03-19 データ処理装置

Publications (2)

Publication Number Publication Date
JPH08263264A JPH08263264A (ja) 1996-10-11
JP2713283B2 true JP2713283B2 (ja) 1998-02-16

Family

ID=13192561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6217696A Expired - Lifetime JP2713283B2 (ja) 1996-03-19 1996-03-19 データ処理装置

Country Status (1)

Country Link
JP (1) JP2713283B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716267B2 (en) 2004-08-30 2010-05-11 Casio Computer Co., Ltd. Decimal computing apparatus, electronic device connectable decimal computing apparatus, arithmetic operation apparatus, arithmetic operation control apparatus, and program-recorded recording medium

Also Published As

Publication number Publication date
JPH08263264A (ja) 1996-10-11

Similar Documents

Publication Publication Date Title
US5572207A (en) Method and apparatus for numeric-to-string conversion
US20050165768A1 (en) Converting numeric values to strings for optimized database storage
JPH0644714B2 (ja) コ−ド変換装置
JPH1049369A (ja) データ処理装置
JP2713283B2 (ja) データ処理装置
JP2922571B2 (ja) データ変換回路
JP3120551B2 (ja) コード変換装置
JP3097294B2 (ja) コード変換装置
JP2606580B2 (ja) 数値データ演算方法
JPH0434784B2 (ja)
JPS6138493B2 (ja)
JP3182497B2 (ja) 演算処理装置および命令変換装置
JP3465592B2 (ja) データ形式変換装置
JP3206863B2 (ja) コード変換方法及びコード変換器
CN113485674A (zh) 一种大整数算法的计算机处理系统
JPH0764821A (ja) メモリのストア内容表示装置
JP2889431B2 (ja) 文字処理装置
JP3499481B2 (ja) データ乗算装置
JPS5854443A (ja) ハツシユ変換装置
JPH05173789A (ja) リスト型データ表現形式における数値表現方法及び数値表現変換方法
JPH10171686A (ja) データベース拡張方法
JPH03144735A (ja) インタプリタの言語処理方式
JPH06301513A (ja) 数値データ圧縮保存装置
JPH03276366A (ja) 漢字コード処理装置
JPH0231260A (ja) データの変換及び復元方式

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071031

Year of fee payment: 10