C/C에서 특정 비트의 값 결정
제공된 코드 조각은 temp 변수를 다음과 같이 바이너리로 표현된 값으로 설정합니다. 0b1011110. 제기된 질문은 비트 이동 및 마스킹에 의존하지 않고 temp에서 세 번째 비트(오른쪽부터 계산)의 값을 결정하는 방법이 있는지 여부입니다.
C에 내장된 기능
C 프로그래밍 언어에서는 매크로를 활용하여 비트 조작을 숨길 수 있습니다. 다음 매크로를 정의할 수 있습니다.
#define CHECK_BIT(var,pos) ((var) & (1<<(pos)))
이 매크로 CHECK_BIT는 다음과 같이 오른쪽 끝에서 n번째 비트를 확인하는 데 사용할 수 있습니다.
CHECK_BIT(temp, n - 1)
여기서 n은 관심 있는 비트 위치를 나타냅니다.
C의 솔루션
C 프로그래밍 언어는 비트세트 작업을 처리하는 편리한 수단을 제공하는 std::bitset 클래스를 제공합니다. std::bitset을 사용하여 특정 비트의 값을 확인하려면 입력 값에서 bitset 개체를 만든 다음 원하는 비트 위치에 액세스하면 됩니다. 예:
std::bitset<8> bits(temp); if (bits.test(3)) { // Third bit (counting from the right) is set }
위 내용은 비트 이동 및 마스킹 없이 C/C에서 특정 비트의 값을 어떻게 결정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!