GMP 函数
在线手册:中文 英文
PHP手册

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbitSet bit

说明

void gmp_setbit ( resource $a , int $index [, bool $set_clear = true ] )

Sets bit index in a.

参数

a

The number being set to.

可以是一个 GMP 数据 resouce,或一个可以转换为数值的字符串。

index

The set bit.

set_clear

Defines if the bit is set to 0 or 1. By default the bit is set to 1. Index starts at 0.

返回值

GMP 数值资源.

范例

Example #1 gmp_setbit() example

<?php
$a 
gmp_init("0xfd");
gmp_setbit($a1); // index starts at 0
echo gmp_strval($a) . "\n";
?>

以上例程会输出:

255

注释

Note:

Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

参见


GMP 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Set bit

用户评论:

bluej100@gmail (27-Jul-2007 05:07)

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
?>