2012-06-29 3 views
1

char 변수를 hava에 저장하고 두 개의 최하위 16 진수 값에만 관심이 있습니다. 다른 값들을 어떻게 풀 수 있습니까? 예 :C++에서 char의 최하위 비트를 가져 오는 방법

output = 0xD1;  

내가 시도 :

output = (input&0x000000FF); 

하지만 난 그냥 얻을 수보다 :

char input = 0xFFFFFFD1; 

내가 원하는

output = 0xFFFFFFD1 

가 어떻게이 문제를 해결합니까?

+0

여기에 코드를 올려주세요. – trumpetlicks

+0

코드 조각이 유용 할 것입니다. –

답변

2

char은 플랫폼에 따라 8 비트가 될 가능성이 큽니다. 이 경우,이 :

char input = 0xFFFFFFD1; 

이 동일하다 :

char input = 0xD1; 

제가 또한 output 유형의 int라고 가정하고있다. 이 경우에, 당신이 필요합니다

int output = (unsigned char)input & 0xFF; 

데모 : http://ideone.com/FOdRG합니다.

[] 이것이 문제가되지 않는다면 사용중인 실제 코드를 포함하도록 질문을 업데이트해야합니다.]

+0

감사합니다. 출력을 int로 만들고 부호없는 입력으로 문제를 해결했습니다! – Marty

관련 문제