documents:code:other-050
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| documents:code:other-050 [2024/11/02 01:16] – k896951 | documents:code:other-050 [2026/05/12 23:14] (現在) – k896951 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== 002.ゾーン形式、パック形式 ====== | ||
| + | |||
| + | 2024-10-10\\ ホストのファイル処理でLOW-VALUE, | ||
| + | |||
| + | ===== 概要 ===== | ||
| + | |||
| + | ゾーン形式(Zone), | ||
| + | |||
| + | * ゾーン形式は数値の1桁を1バイトで表す | ||
| + | * パックドデシマル形式は数値の桁を 数字2桁もしくは数字1桁+符号情報 で区切り1バイトで表す | ||
| + | * どちらの形式も、0x00で埋めたものがLOW-VALUE、0xFFで埋めたものがHIGH-VALUE | ||
| + | * メインフレーム(ホスト)のCOBOL等で生成する数値の形式 | ||
| + | |||
| + | ==== 文字, | ||
| + | |||
| + | COBOLで言う PIC X(n). | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | LOW-VALUE, HIGH-VALUEを設定した場合 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ==== 数値:Zone ==== | ||
| + | |||
| + | COBOLで言う PIC S9(n). \\ 符号が無ければ PIC 9(n). も同じです。 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | LOW-VALUE, HIGH-VALUEを設定した場合 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 数字1桁が1バイトに対応し、負の数でなければ数字の文字コードそのままに格納されます。\\ | ||
| + | 負の数の場合は一番下の桁のバイトに有符号を意味する文字に置換えされます。EBCDICだと見た目上位4ビットが変換されていてわかりやすいですが、ASCIIの場合はEBCDICの文字に対応したASCIIの文字を割り当てるため分かり辛くなります。\\ | ||
| + | ASCII(2)のパターンはOracleのバルクローダーやGnuCOBOLで使用されていたパターンです。 | ||
| + | |||
| + | |||
| + | ^ 数字 | ||
| + | | ::: ^ 正の数 | ||
| + | | 0 | ||
| + | | 1 | ||
| + | | 2 | ||
| + | | 3 | ||
| + | | 4 | ||
| + | | 5 | ||
| + | | 6 | ||
| + | | 7 | ||
| + | | 8 | ||
| + | | 9 | ||
| + | |||
| + | ホストの環境によっては | ||
| + | * 符号が一番上の桁のバイトに割り当てられる | ||
| + | * 正の数を意味する符号が割り当てられる | ||
| + | 場合もあります。\\ ゼロも表現が様々あるので、サンプル出力するなどして確認が必要です。 | ||
| + | |||
| + | ==== 数値:Packed Decimal ==== | ||
| + | |||
| + | COBOLで言う PIC S9(n) COMP-3.\\ | ||
| + | 数字2桁、最後のバイトは数字1桁+符号情報1桁、を1バイトで表現します。桁数+符号情報が偶数にならない場合は先頭桁にゼロの桁を追加します。\\ なので、PIC S9(5) COMP-3.とPIC S9(4) COMP-3.は同じバイト形状になります。 | ||
| + | |||
| + | ※PIC 9(n) COMP-3. は多分正の数の値のみのS9(n) COMP-3.と同じだと思うけど確認はしてない。 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | LOW-VALUE, HIGH-VALUEを設定した場合 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Zone形式と同様にPacked Decimalでも符号情報が先頭に付く場合やゼロの符号の話などもあると思うので、サンプル出力するなどして確認が必要です。 | ||
documents/code/other-050.txt · 最終更新: by k896951
