달력

10

« 2018/10 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

'비트 연산자'에 해당되는 글 3

  1. 2010.03.08 bit연산자 - & | ^ << >> (3)
  2. 2010.03.08 bit연산자 - & | ^ << >> (2)
  3. 2010.03.08 bit연산자 - & | ^ << >> (1)
2010.03.08 18:21

bit연산자 - & | ^ << >> (3) 프로그래밍/C언어2010.03.08 18:21




&(and)연산자 두 비트를 비교하여 둘다 참이 아니면 무조건 0.

마찬가지로 &연산자를 사용해서도 가능한 응용법.




16진수 기준으로 123456이라는 숫자를
각각 12, 34, 56, 78로 나누어 쪼개 넣었다.

어느 부분에서 어떻게 활용해야 할지는 솔직히 잘 모르겠지만,
알면 알 수록 신기한 비트연산의 세계

'프로그래밍 > C언어' 카테고리의 다른 글

문자열과 배열  (0) 2010.03.08
재귀 호출  (0) 2010.03.08
bit연산자 - & | ^ << >> (3)  (0) 2010.03.08
bit연산자 - & | ^ << >> (2)  (0) 2010.03.08
bit연산자 - & | ^ << >> (1)  (0) 2010.03.08
랜덤함수-rnd()-srand() 사용법  (0) 2010.03.05
Posted by 안식의후크
2010.03.08 14:02

bit연산자 - & | ^ << >> (2) 프로그래밍/C언어2010.03.08 14:02




<< , >> 연산자에 대해서 살펴 보자.

4비트의 0001(1)를 << 할 경우
0010(2)가 되는고
다시 0010(2)를 >>할 경우
0001(1)이 되는 것은 기본적인 것이라 소스코드는 패스.

시프트연산자를 사용하면 좀더 재밋는 일을 할 수 있는데




처럼 bool 타입의 flag를 선언 하는 것 보다
char타입의 비트연산을 사용하여 이를 대신 할 수 있다.

이때에 char의 값을 그 수치 그대로 보기보단, 1byte를 1bit로 보는 것이 더 편하다.

소스 코드는 단순한 예제이기 때문에 큰 의미는 없고,
실제 게임에 적용하기 위해선 조금의 수정은 필요 하겠지만 개념만 이해하면 쉽게 변형이 가능할 듯 하다.
지금 같은 상태는 동시에 여러 상태를 설정하는 것이지만, 조금 바꿔서 특정 상태만 특정 갯수로 설정하는 것도 충분히 가능.

'프로그래밍 > C언어' 카테고리의 다른 글

재귀 호출  (0) 2010.03.08
bit연산자 - & | ^ << >> (3)  (0) 2010.03.08
bit연산자 - & | ^ << >> (2)  (0) 2010.03.08
bit연산자 - & | ^ << >> (1)  (0) 2010.03.08
랜덤함수-rnd()-srand() 사용법  (0) 2010.03.05
삼항 연산자  (0) 2010.03.05
Posted by 안식의후크
2010.03.08 13:49

bit연산자 - & | ^ << >> (1) 프로그래밍/C언어2010.03.08 13:49




비트 연산자에 대해서,

비트 연산자는 &(and), I(or), ^(xor), <<, >> (shift)연산자가 존재한다.

먼저 가장 ^(xor)에 대해서 살펴 보자.




결과를 보면 알 수 있겠지만,
xor를 사용하여 값을 0으로 다시 본래의 값으로 변경하는 것이 가능하며,
특정 키값을 사용하여 간단한 암호와,
tmp 변수 없이 x,y값을 서로 변경 하는것이 가능하다.

'프로그래밍 > C언어' 카테고리의 다른 글

bit연산자 - & | ^ << >> (3)  (0) 2010.03.08
bit연산자 - & | ^ << >> (2)  (0) 2010.03.08
bit연산자 - & | ^ << >> (1)  (0) 2010.03.08
랜덤함수-rnd()-srand() 사용법  (0) 2010.03.05
삼항 연산자  (0) 2010.03.05
콘솔창에 키보드 입력 받기.  (0) 2010.03.05
Posted by 안식의후크