The third parameter is somewhat confusingly named; it would probably be better described as "$set_state". If true, it sets the bit to 1. If false, it sets the bit to 0. Default is true.
<?php
$num = gmp_init(1);
gmp_setbit($num, 1);
echo 'gmp_setbit(1, 1): '.gmp_strval($num, 2)."\n"; // 11
$num = gmp_init(1);
gmp_setbit($num, 1, true);
echo 'gmp_setbit(1, 1, true): '.gmp_strval($num, 2)."\n"; // 11
$num = gmp_init(1);
gmp_setbit($num, 0, false);
echo 'gmp_setbit(1, 0, false): '.gmp_strval($num, 2)."\n"; // 0
?>
gmp_setbit
(PHP 4 >= 4.0.4, PHP 5)
gmp_setbit — ビットを設定する
説明
void gmp_setbit
( resource $a
, int $index
[, bool $set_clear = true
] )
a のビット index を設定します。
パラメータ
- a
-
ビットをセットしたい数。
GMP 数リソース、 あるいは数値に変換可能な数値形式の文字列。
- index
-
設定するビット。
- set_clear
-
そのビットを 0 または 1 のどちらにするかを定義します。デフォルトで、ビットは 1 に設定されます。
返り値
GMP 数リソースを返します。
例
例1 gmp_setbit() の例
<?php
$a = gmp_init("0xfd");
gmp_setbit($a, 1); // インデックスは 0 から始まります
echo gmp_strval($a) . "\n";
?>
上の例の出力は以下となります。
255
注意
注意: 他の大半の GMP 関数とは異なり、gmp_setbit() は必ず既存の GMP リソース (例えば gmp_init() を使用して取得したもの) を使用してコールしなければなりません。 リソースは自動的には作成されません。
gmp_setbit
bluej100@gmail
27-Jul-2007 04:07
27-Jul-2007 04:07
