Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 K 번째 비트가 설정되어 있는지 확인하십시오.

<시간/>

숫자 n과 다른 값 k가 있다고 가정합니다. n의 k번째 비트가 1로 설정되어 있는지 확인해야 합니다. k의 값은 오른쪽에서 고려됩니다.

따라서 입력이 n =23, k =3과 같으면 23의 이진 형식이 10111이므로 세 번째 마지막 비트가 1(세트)이므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • temp :=n 비트를 오른쪽으로 (k - 1)번 이동한 후
  • temp AND 1이 1이면
    • 참 반환
  • 거짓을 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시 코드

def solve(n,k):
   temp = n >> (k - 1)
   if temp & 1:
      return True
   return False

n = 23
k = 3
print(solve(n, k))

입력

23, 3

출력

True