Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$BITCOUNT

bitstring のビット数を返します。

Synopsis

$BITCOUNT(bitstring,bitvalue)

パラメータ

bitstring ビット文字列として評価される式。任意のタイプの変数、$FACTOR、ユーザ定義関数、または oref.prop..propi%prop プロパティ参照を指定できます。
bitvalue オプション — ビット文字列内をカウントする値 (0 または 1)

概要

$BITCOUNT 関数は、ビット文字列内のビットの数をカウントします。ビット文字列は、ビットの連続としてシステムに解釈される、エンコードされた文字列です。$BIT$BITLOGIC を使用して、ビット文字列を作成することができます。

$BITCOUNT(bitstring) は、bitstring 内のビット数を返します。

$BITCOUNT(bitstring, bitvalue) は、bitstring 内の bitvalue (0 または 1) タイプのビット数を返します。

最大のビット文字列長は 262,104 ビット (32763 x 8) です。

Caché のエンコードされたビット文字列ではない bitstring 値を指定すると、<INVALID BIT STRING> エラーが生成されます。詳細は、"ビット文字列関数の概要" を参照してください。

bitstring = [0,0,1,1,0] の場合、$BITCOUNT(bitstring) の結果は 5 になります。

  SET $BIT(a,1) = 0
  SET $BIT(a,2) = 0
  SET $BIT(a,3) = 1
  SET $BIT(a,4) = 1
  SET $BIT(a,5) = 0
  WRITE !,$BITCOUNT(a)

bitstring= [0,0,1,1,0] の場合、$BITCOUNT(bitstring,0) の結果は 3 になります。

  SET $BIT(a,1) = 0
  SET $BIT(a,2) = 0
  SET $BIT(a,3) = 1
  SET $BIT(a,4) = 1
  SET $BIT(a,5) = 0
  WRITE !,"number of zero bits:",$BITCOUNT(a,0)
  WRITE !,"number of one bits: ",$BITCOUNT(a,1)

次の例は、$FACTOR によって生成されたランダムな 16 ビットのビット文字列に含まれ、値が 1 であるビットの数を返します。

   SET x=$RANDOM(65536)
   FOR i=1:1:16 {WRITE $BIT($FACTOR(x),i) }
   WRITE !,"Number of 1 bits=",$BITCOUNT($FACTOR(x),1)

関連項目

FeedbackOpens in a new tab