gmp_setbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_setbitSet bit

Açıklama

gmp_setbit(GMP $num, int $index, bool $value = true): void

Sets bit index in num.

Bağımsız Değişkenler

num

The value to modify.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

index

The index of the bit to set. Index 0 represents the least significant bit.

value

True to set the bit (set it to 1/on); false to clear the bit (set it to 0/off).

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_setbit() example - 0 index

<?php
$a 
gmp_init("2"); //
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a0); // 0b10 now becomes 0b11
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Yukarıdaki örneğin çıktısı:

2 -> 0b10
3 -> 0b11

Örnek 2 gmp_setbit() example - 1 index

<?php
$a 
gmp_init("0xfd");
echo 
gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a1); // index starts at 0
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Yukarıdaki örneğin çıktısı:

253 -> 0b11111101
255 -> 0b11111111

Örnek 3 gmp_setbit() example - clearing a bit

<?php
$a 
gmp_init("0xff");
echo 
gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a0false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Yukarıdaki örneğin çıktısı:

255 -> 0b11111111
254 -> 0b11111110

Notlar

Bilginize:

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

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
0
bluej100@gmail
15 years ago
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
?>
To Top