CL

20. CLP での2進数の扱い方

API を CLP で使用する場合は2進数の扱いが必要になってくるが、CLP の変数定義(DCL) では2進数の定義はない。
CLP では2進数は *CHAR として定義する。
次の例では2進数の定義と変換の方法を示している。

0001.00                PGM
0002.00              DCL        VAR(&BIN4) TYPE(*CHAR) LEN(4) +  
0003.00                           VALUE(X'00000000')             
0004.00              DCL        VAR(&DEC08) TYPE(*DEC) LEN(8 0)  
0005.00                                                          
0006.00      /*10 進数の 256 を 2 進数に変換 */                  
0007.00              CHGVAR     VAR(&DEC08) VALUE(256)           
0008.00              CHGVAR     VAR(%BIN(&BIN4)) VALUE(&DEC08)   
0009.00      /* 2 進数の 256 を 10 進数に変換 */                 
0010.00              CHGVAR     VAR(&DEC08) VALUE(%BIN(&BIN4))   
0011.00                ENDPGM