- ベストアンサー
COBOLでハーフバイト数値を読むには?
1バイトで2桁の数値(つまり4ビットで1桁の数値)が書いてあるデータを1バイト1桁の数値に変換するにはどのようにプログラミングすればいいですか? またはフリーのツールでもあれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
WORKING-STORAGE SECTION. * 01 SRC-DATA PIC 9(2) COMP-3. 01 SRC-DATA-R REDEFINES SRC-DATA. 03 SRC-DATA-BYTE PIC X(1). * 01 DST-DATA PIC 9(2). 01 DST-DATA-R REDEFINES DST-DATA. 03 DST-DATA-BYTE1 PIC 9(1). 03 DST-DATA-BYTE2 PIC 9(1). * PROCEDURE DIVISION. * START. MOVE 1バイトの何か TO SRC-DATA-BYTE. MOVE SRC-DATA TO DST-DATA. MOVE DST-DATA-BYTE1 TO 上の桁(0~9) MOVE DST-DATA-BYTE2 TO 下の桁(0~9) * STOP RUN. *
その他の回答 (2)
- chukenkenkou
- ベストアンサー率43% (833/1926)
どこのメーカーの何というCOBOLですか? OSは何でしょうか? 私が長年使っていたCOBOLでは、10進パック形式は必ず符号部が存在(+はX'C'、-は'D'、符号なしはX'F'など)していました。 つまり、2桁の10進数では、2バイト使われていました。 念のために確認ですが、符号部は存在しないのですね?
- ssykpu
- ベストアンサー率28% (319/1125)
パック十進数をゾーン十進数にするのですか?それなら簡単だけど(MOVEするだけで変換されるのが普通)それともなにか特別な事でもするのですか?それが分からないと答えようがありません。
お礼
まだ試してはいないのですが、ロジックを拝見したところできそうな気がします。 ありがとうございました。