GMP gmp_setbit

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

gmp_setbit — Set bit


설명

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

비트 indexnum으로 설정합니다.


매개변수

num
수정할 값입니다.

GMP 개체, int 또는 숫자 문자열입니다.

index
설정할 비트의 인덱스입니다. 인덱스 0은 최하위 비트를 나타냅니다.
value
비트를 설정하려면 True로 설정하고(1/on으로 설정) 비트를 지우려면 false입니다(0/off로 설정).

반환 값

GMP 개체입니다.


Examples

예제 #1 gmp_setbit() 예제 - 0 인덱스

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

위의 예는 다음을 출력합니다.

2 -> 0b10
3 -> 0b11
                

예제 #2 gmp_setbit() 예제 - 1 인덱스

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

위의 예는 다음을 출력합니다.

253 -> 0b11111101
255 -> 0b11111111
                

예제 #3 gmp_setbit() 예제 - 비트 지우기

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

위의 예는 다음을 출력합니다.

255 -> 0b11111111
254 -> 0b11111110
                

메모

메모: 대부분의 다른 GMP 함수와 달리 gmp_setbit()는 이미 존재하는 GMP 객체로 호출해야 합니다(예: gmp_init() 사용). 자동으로 생성되지 않습니다.


기타