비트 쉬프트 연산자
Programming/C 2013. 2. 15. 02:23 |비트 연산자는 정수일때만 해당사항!!! 실수 안됨.
<< 연산자 : 비트를 왼쪽으로 이동. (( <<쪽으로 이동할수록 값의 크기가 2배씩 증가.))
>> 연산자 : 비트를 오른쪽으로 이동. (( >>쪽으로 이동할수록 값의 크기가 2배씩 감소. 단, 홀수이면 나머지값 버려짐.))
※ unsigned 형으로 표현되는 데이터는 >> 연산 시 왼쪽의 빈 공간을 무조건 0으로 채운다.
예를들어 unsigned int 형 변수에 저장된 값의 경우, 부호를 결정짓는 MSB가 존재하지 않는다. 따라서
가장 왼쪽에 존재하는 비트가 1로 채워지는 경우는 어떠한 환경을 불문하고 발생하지 않는다.
음의 정수를 양의 정수로 바꿔주는 프로그램. Not비트 연산자 이용.
2의 보수를 취하여 음수를 양수로 만들어준다.
------------------------------------------------------------------------------------------------------------------------------------------------------
정수를 입력받아 그것을 비트열로 출력하는 프로그램.
bits-1-i 에서 -1은 >>로 밀었을 때 num이 가지고 있는 첫번째 비트를 연산하게 끔 하기 위하여 -1을 하였다.
그리고 -i는 차츰 차츰 >> 연산자의 수를 줄여나가면서 비트연산을 하게끔 한다.
'Programming > C' 카테고리의 다른 글
typedef 를 이용한 이차원 배열 주소 값 반환 (0) | 2013.02.15 |
---|---|
Bit Mask (비트 마스크) (0) | 2013.02.15 |
printf 함수의 서식문자 조합. (0) | 2013.02.15 |
isalpha 함수 (0) | 2013.02.15 |
isdigit함수 (0) | 2013.02.15 |