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
비트 index
를 num
으로 설정합니다.
매개변수
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() 사용). 자동으로 생성되지 않습니다.
기타
- gmp_clrbit() - Clear bit
- gmp_testbit() - Tests if a bit is set