성장 일기/쌍용교육센터 / / 2022. 12. 12. 12:29

1206/연산자

쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다. 

 

쉬프트 연산자는 비트를 미는 연산이다.

비트를 분리할 때도 사용한다.

<<은 왼쪽으로 미는 수에 맞게 밀고 빈칸을 0으로 채운다.

>>은 비트를 오른쪽으로 밀어서 빈칸을 양수면 0을 음수면 1을 채운다.

>>>은 비트를 오른쪽으로 밀고 빈칸을 항상 0으로 채운다.

 

예를 들어

20>>3의 경우에는

0001 0100에서 오른쪽으로 3번 비트를 미는 것이니깐

밀리는 값은 버리고

0000 0010이 나오므로 20>>3은 2이다.

 

10<<2의 경우에는

0000 1010에서

왼쪽으로 2번을 미는 것이니깐

0010 1000이 나오므로 10<<2는 40이다.

 

음수의 경우에는 -11>>3에서

-11의 2진수를 구하려면 11의 2의 보수를 구해야 한다.

0000 1011의 2의 보수는 부호를 바꾸고 1을 추가하면 

위의 값의 2의 보수인 1111 0101이다. 여기서 오른쪽으로 3번 미는 것이니

1111 1110이 되고 1의 보수를 이용해 1111 1101에서

부호를 바꾸고 0000 0010의 값인 2를 찾은 후 다시 부호를 -붙이고 -2인 것을 확인한다.

 

논리연산자는 일반 논리와 비트 논리로 나뉜다.

일반 논리는 여러 개의 관계 연산자를 붙여서 사용할 때 사용하고

&&(AND), ||(OR)가 있다.

비트 논리는 비트를 합치거나 분리할 때 사용하고

&(AND), |(OR), ^(NOR)가 있다.

 

&&(AND)는 전항과 후항이 모두 참일 때만 참 반환을 하고

또한 전항이 false이면 후항을 계산하지 않는다.

true&&true = true, false&&true = false

 

||(OR)은 전항과 후항이 모두 거짓일 때만 거짓 반환을 하고

전항이 true이면 후항을 계산하지 않는다.

true||true = true, false||true = true

 

&(AND)는 상위비트와 하위비트 모두 1인 경우에만 1을 얻는다.

|(OR)는 상위비트와 하위비트 모두 0인 경우에만 0을 얻는다.

^(XOR)은 상위비트와 하위비트 둘 중 하나만 1인 경우에 1을 얻는다.

 

삼항연산자(조건연산자)는 연산식? 항1 : 항2의 형태를 가지고 있다.

연산식의 결과가 참이면 항1을 거짓이면 항2를 실행하거나 값을 얻는다.

 

대입연산자는 Rvalue의 값을 Lvalue에 할당할 때 사용한다.

 

Constant는 변수를 상수처럼 사용할 때나 가독성은 향상 시키면서

값 변경을 막아야 할 때, 프로그램에서 기준 값을 설정해서 사용할 때

사용하고 클래스 필드에 지정된 형식으로 선언하여 사용한다.

값 할당은 선언할 때에만 가능하며

상수명을 모두 대문자로 작성하고 모든 메모리에서 접근이 가능하다.

public static final 데이터형 상수명 = 값;

 

배우고 느낀점

기본 연산자 말고도 여러 연산자를 많이 다루면서

컴퓨터에서 사용하는 연산자는 일상생활에서 사용하는 연산자랑은

확실히 많이 다른 거 같다. 이 점을 인지하고 접근하면 좋을 거 같다고 생각한다.

 

 

 

 

'성장 일기 > 쌍용교육센터' 카테고리의 다른 글

1208/조건문, 반복문  (0) 2022.12.12
1207/소스코드 동작, 이클립스 개요  (0) 2022.12.12
1205/연산자  (0) 2022.12.12
1202/변수  (0) 2022.12.11
1201/환경 설정  (0) 2022.12.04
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유