반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- c언어
- 양평역
- 바이크
- QTcpServer
- 알람프로그램
- 스타크래프트2
- 스타2
- qt 설치
- 고속도로
- 이륜차
- QT
- FFI
- 자료구조
- Java
- 마영전
- vuejs
- 안드로이드
- Qt 소켓프로그래밍
- 윈도우7
- android SAF
- 오토바이
- HTML
- Qt4
- 정성하
- 엑티브엑스
- Qt OpenGL
- 잡담
- 재귀함수
- 자바
- 디자이어HD
Archives
- Today
- Total
프로그래밍과 잡담
[C언어] 기초 2-1 본문
비트 연산자..
요거는 나중에 가면 많이 쓰인다.. 엠베디드나 어디든간에 많이 쓰이는거기 때문에...
어쨌든
& 와 |
비트 연산.. 비트끼리 연산을 하는거다.. 컴퓨터가 하는 방식의 연산을 비트연산이라 한다..
사람 처럼 10진수로
10 + 10 이 아니라
1010 이진수로 10이다.
1010
+ 1010
--------
0001 0100
0001 0100 20을 2진수로 변환하면 이거다..
이렇게 계산을 한다.
수학을 배우면 2진수같은거 배울꺼다 그런식으로 컴퓨터는 계산을 한다..
어쨌거나..
& 이거는 And연산으로
0101 1101
& 1010 1100
------------------ 계산을 하면
0000 1100 의 값이 나온다.
둘다 1일때만 1이고 둘중에 0이라도 있으면 무조건 0이다..
이게 and 연산
OR은 논리 연산하고 똑같은데
0101 1101
& 1010 1100
------------------ 계산을 하면
1111 1101 의 값이 나온다.
둘중 한개만 1이 있으면 결과는 1이다.
자, 이건 됬고..
<< , >>
<<이거는 좌측 시프트 연산이다..
>>이거는 우측 시프트 연산 부호비트로 채운다.
뭔소리인고 하니..
char k = 10;
이걸 k = k<<1; 좌측 시프트연산을 하면
이걸 출력 하면 결과는 20나온다.
0000 1010 원래 값 10진수로 10
0001 0100 시프트 한 후의 값 10진수로 20이다.
좌측 시프트연산을 1번 하면 그 값이 배로 늘어난다.
10이었으니까 1번 밀었으니까 20이된거다..
이해가 됬으리라 하고 이해가 안되면 연습장에 그려서 하도록...
다음껄로 우측 시프트 연산
우측 시프트 연산이다..
위에 꺼와 똑같은걸 쓴다.. 왜냐 귀찮으니까..
0000 1010 원래 값 10진수로 10
0000 0101 시프트 한 후의 값은 5로 됬다..
즉. 반으로 줄어 든다..
끝
요거는 나중에 가면 많이 쓰인다.. 엠베디드나 어디든간에 많이 쓰이는거기 때문에...
어쨌든
& 와 |
비트 연산.. 비트끼리 연산을 하는거다.. 컴퓨터가 하는 방식의 연산을 비트연산이라 한다..
사람 처럼 10진수로
10 + 10 이 아니라
1010 이진수로 10이다.
1010
+ 1010
--------
0001 0100
0001 0100 20을 2진수로 변환하면 이거다..
이렇게 계산을 한다.
수학을 배우면 2진수같은거 배울꺼다 그런식으로 컴퓨터는 계산을 한다..
어쨌거나..
& 이거는 And연산으로
0101 1101
& 1010 1100
------------------ 계산을 하면
0000 1100 의 값이 나온다.
둘다 1일때만 1이고 둘중에 0이라도 있으면 무조건 0이다..
이게 and 연산
OR은 논리 연산하고 똑같은데
0101 1101
& 1010 1100
------------------ 계산을 하면
1111 1101 의 값이 나온다.
둘중 한개만 1이 있으면 결과는 1이다.
자, 이건 됬고..
<< , >>
<<이거는 좌측 시프트 연산이다..
>>이거는 우측 시프트 연산 부호비트로 채운다.
뭔소리인고 하니..
char k = 10;
이걸 k = k<<1; 좌측 시프트연산을 하면
이걸 출력 하면 결과는 20나온다.
0000 1010 원래 값 10진수로 10
0001 0100 시프트 한 후의 값 10진수로 20이다.
좌측 시프트연산을 1번 하면 그 값이 배로 늘어난다.
10이었으니까 1번 밀었으니까 20이된거다..
이해가 됬으리라 하고 이해가 안되면 연습장에 그려서 하도록...
다음껄로 우측 시프트 연산
우측 시프트 연산이다..
위에 꺼와 똑같은걸 쓴다.. 왜냐 귀찮으니까..
0000 1010 원래 값 10진수로 10
0000 0101 시프트 한 후의 값은 5로 됬다..
즉. 반으로 줄어 든다..
끝
반응형
'프로그래밍 > C,C++, Win32Api' 카테고리의 다른 글
[C언어] 기초 4 (0) | 2009.03.11 |
---|---|
[C언어] 기초 3 (0) | 2009.03.11 |
[C언어]기초2 (0) | 2009.03.11 |
[C언어] 기초 1 (0) | 2009.03.11 |
[Win32 API]버튼의 폰트 바꾸기.. (0) | 2009.03.11 |
Comments