본문 바로가기

공부/자바 OOP

5월 17일 - 자바OOP 1 : 연산자

*JAVA 프로그램 언어 활용 수업순서

- 변수

- 연산자

- 제어문

- 배열

- 함수 

----------여기까지 프로그래밍의 기초---

- 클래스 (생성사, 상속, 인터페이스~)

 

5월16일 과제 

int x=2, y=6;
int z=++x * y--;
		
System.out.println(x);
System.out.println(y);
System.out.println(z);

-> 내가 한 분석

x=x+1      // -> 3
int z=x*y  // ->3*6=18
y=y-1      // -> 5
           // -> x=3, y=5, z=18

맞음! ! ! ! 

 


1. bit 연산자

 

1) bit : 컴퓨터 용량의 단위

2) 컴퓨터의 신호 체계 : 0, 1 (0과 1은 하나의 비트이다)

3) bit 

     8bit  -> 1byte

     예) 01000001 : A  -> 총 8개의 비트로 구성해야 신호체계가 됨

4) 2byte용 언어 -> 한글, 한자, 일어 ~ (영어가 아닌 언어는 대부분 2byte)

5) 2의 10승   ->  1024byte  ->  Kilo Byte

     2의 20승   ->   Mega Byte

     2의 30승   ->   Giga Byte

6) 용량 크기 비교 ; KB  <  MB  <  GB  <  TB  <  NB

  

       00000101                      00000101

   & 00000011                   | 00000011

   ----------                   ----------

        00000001                      00000111 

 

 

 

   

 

2.shift 연산자    

    << left shift      : 대상*2의n승
     >> right shift   : 대상/2의n승

 ->   n은 이동bit수

수의 체계 : 2진수    0 1
                   8진수    0 1 2 3 4 5 6 7
                   10진수   0 1 2 3 4 5 6 7 8 9
                   16진수   0 1 2 3 4 5 6 7 8 9 A B C D E F ->16진수는 10진수와 겹치기 때문에 10부터 표현방법이 다름
문) 10진수 5를 2진수로 바꾸시오 -> 00000101
문) 10진수 9를 2진수로 바꾸시오 -> 00001001

 

문) shift 연산자 

  shift 연산자

*shift함수를 이용한 10진수의 2진수 변환

*10진수 16의 2진수는 2의 4승 <<(쉬프트)3  = 2의 7승

     16<<3    //           00001000   -> 16 

                  //   <<3   01000000  ->128

     16>>3    //            00001000   -> 16

                  //   >>3   00000001   -> 2

 

3. 보수연산자

s

음수(signed값)를 표현하는 방식

1의 보수

2의 보수

부호와 절대치