付録C.4 マシンコード形式の作成と検証

Encodingフィールドの値を作成するには,要求されたマシンコード形式を示す適切な定数値を,論理的ORで結合します。論理的オペレーションをサポートしていない言語では,定数を加算できます。ただし,同じ定数は2回以上加算できません。

特定のマシンコード形式についてEncodingフィールドをテストするには,そのフィールドを論理的ANDで要求されるマシンコード形式のマスクで結合してください。また,そのマシンコード形式に有効な値と値が同じかどうか確認してください。マシンコード形式に有効な値は,MQENC_INTEGER_*,MQENC_DECIMAL_*,またはMQENC_FLOAT_*です。

論理的オペレーションがサポートされていない言語では,次に示す方法で各マシンコード形式化の値を確認できます。

  1. 要求されたマシンコード形式に対応する値を選択し,その値を"A"とします。
    2進整数の場合:1
    10進パック形式の場合:16
    浮動小数点の場合:256
  2. Encodingフィールドの値を"A"で割り,その結果を"B"とします。
  3. "B"を16で割り,その結果を"C"とします。
  4. "C"に16を掛けた値を"B"から引きます。その結果を"D"とします。
  5. "D"に"A"を掛け,その結果を"E"とします。
  6. "E"が要求されるマシンコード形式に有効な値と等しいか確認してください。