[掲示板に戻る]
Re:16進を10進に変換する方法 ゼロ 2006-8-18 10:18 |
Re:16進を10進に変換する方法 江須扇 2006-8-19 7:35 |
4 | Re:16進を10進に変換する方法 |
ゼロ 2006-8-18 10:18
[返信] [編集] 遅くなりましたが、江須扇様レスありがとうございました。 USAGE COMP-1を使用してレコード長、ブロック長、更新回数は問題なく10進に変換できました。
これで、WORK-RSIZ1の内容が’256d’になっていました。 USAGE COMP-1の仕組みがよく理解できていないので結果論ですが、16進数→10進数の変換は出来たようです。 問題になったのが第1〜第4エクステント開始終了アドレス。 これは上記の方法で変換するとまったく意味不明な値が帰ってきたので下記のような変換テーブルを作って1バイトづつ判断して内部16進から外部16進に変換しました。 あとは16進→10進への計算ルーチンを作って10進にしました。 もっといい方法があるかもしれませんがこれしか思いつきませんでした。
|
|
5 | Re:16進を10進に変換する方法 |
江須扇 2006-8-19 7:35
[返信] [編集] >2バイト単位しか利用できませんが、USAGE COMP-1 >を利用したらいかがでしょうか? という事で、4バイトの場合は、 USAGE COMP-2 を利用していただくこととなります。 但し、 COMP-1 が−32768≦x≦32767 COMP-2 が−2147483648≦y≦2147483647 となります。 詳しくは、COBOL言語説明書、2.4.3.4 データの表現形式 をご覧下さい。 |
BluesBB ©Sting_Band