2013年8月24日土曜日

【なでしこ】プラグインを作ってみる ~設計編 その7~

バイト処理の関数に近いものがありますが、ビット処理の関数群です。
なでしこだけでなく、Luaとかもビット操作が弱い傾向にあるので、
こういう関数は意外に役にたつかも(Luaは5.2系でビット処理の関数が
入った様ですが)。

------ここから------

・ビットチェック
    書式:ビットチェック([int]ハンドル、[int]パターン)
    戻値:[int]結果
    説明:対象となるハンドルと、パターンを指定して、パターンビット
       が対象に含まれているかチェックする。対象はバイト確保
          されたハンドルであること。
         
          パターンが含まれている場合には1(TRUE)が、含まれていない
          場合は0(FALSE)が返される。引数が不正な場合には0が返される。

・ビットセット
    書式:ビットセット([int]ハンドル、[int]パターン)
    戻値:[int]結果
    説明:対象のハンドル値に、パターンビットを設定する。対象は
         バイト確保されたハンドルを指定する。
         
          成功した場合には0が、引数に不正があった場合には-1が
          返される。

・ビットクリア
    書式:ビットクリア([int]ハンドル、[int]パターン)
    戻値:[int]結果
    説明:対象のハンドル値の、パターンで指定されるビットをクリア
       する。対象はバイト確保されたハンドルであること。
         
          成功した場合には0が、引数に不正があった場合には-1が
          返される。

------ここまで------

普通にプログラミングしてるとあまり使わないんですが、組み込み
系のプログラムでレジスタいじったり、あと通信パケットの内容を
操作したりする場合は意外とビット操作が使われてます。これと
バイト操作系のところで定義した左右シフトの関数があれば、
大体のことは出来ますかね~ヾ(´ー` )ノ