> 백엔드 개발 > C++ > 숫자는 2의 힘입니까? 약간의 접근 방식

숫자는 2의 힘입니까? 약간의 접근 방식

Linda Hamilton
풀어 주다: 2025-01-29 19:31:08
원래의
719명이 탐색했습니다.

숫자가 2인지 판단 할 수있는 힘 여러 숫자가 2인지 판단하려면 효율적이고 정확한 알고리즘이 필요합니다. 이 기사는 비트 작업을 기반으로 한 알고리즘을 소개합니다. Is a Number a Power of 2?  A Bitwise Approach
이 알고리즘은 작동 번호의 이진 표현을 비교하는 위치와 작동 기호 (&)를 사용합니다. 구체적으로, 1 번의 감소 결과 및 감소 결과 후 입력 번호가 0인지 확인했습니다. 숫자가 이중 방지의 가장 낮은 수준을 제외하고 숫자가 2의 전력 인 경우 나머지는 0입니다. 마이너스 1의 작동은 가장 낮은 레벨을 0으로 전환하므로 가장 낮은 위치를 제외한 모든 비트가 0이됩니다. 입력 번호가 2의 전력 인 경우 계산 결과는 0이됩니다.

예를 들어 숫자 4를 고려하십시오. 2의 힘입니다. 4의 이진은 100으로 표시됩니다. 마이너스 1은 3을 얻고, 이진은 011.100 및 011로 표현됩니다. 위치 및 작동 결과는 000입니다. 결과는 0이기 때문에 4는 2의 힘임을 확인합니다.

이 알고리즘은 높은 계산 효율을 가지며 주어진 숫자가 2의 전력인지 확인하는 신뢰할 수있는 방법을 제공합니다 (0 제외). 0이 필요한 경우 첫 번째 코드 조각에서 볼 수 있듯이 간단한 비 제로 검사 만 추가하면됩니다.

위 내용은 숫자는 2의 힘입니까? 약간의 접근 방식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿