본문 바로가기

JAVA/쓸만한 코드

2진법 16진법 쉽게 계산하기 원리(코드 x)

***2진법 쉽게 계산하는 방법

 

  ㄱ.        ㄴ.

1010   1100 (의 경우 앞 4자리와 뒷 4자리를  ㄱ. 과 ㄴ. 으로나눔)

  ㄱ.       ㄴ.
 1010      1100 (의 경우 앞 4자리와 뒷 4자리를 나눔)

8 4 2 1   8 4 2 1  (아래  1 2 4 8 순으로 숫자 대입)
8 + 2      8 + 4 ( 1의 아래 숫자만 추출 후 더함)
10           12  



10*16의1승   12*16의0승 
 10*16         12*1
  A              C

10진법 답은 ㄱ+ㄴ = 172

 

 

  ㄷ.         ㄹ.       ㅁ.

1111     0000      1010

  15            0           10

=F(외울것)   0          =A(외울것)

 

 

 

EX) &의 사용법

 

0xAC &0xF0의 경우

 

0xAC

0xF0

------  &연산자 도출(겹치는것만 1)

		int result;
		
		result = 0xAC & 0xF0;
		System.out.println("result = " + result); //답 : result = 160
		
		System.out.printf("0x%x", result);	//16진수 출력,  답 : 0xa0

 

 

 


 

 

***16진법 2진법으로 쉽게 계산하는 방법

 

 

Ex)

  ㄱ.         ㄴ.

0xC4 ^ 0x78    =>  XOR연산자 

0xC4 ^ 0x78    =>  XOR연산자 

ㄱ.    C        4
      12        4
    (8421)   (8421)
     1100     0100

ㄴ.    7        8
     0111     1000  


ㄱ.  0xC4 =  1100  0100
ㄴ.  0x78 =  0111  1000
     도출  ---------------  ^(XOR)로 다를 때만 1
ㄷ.          1011  1100
           (8421) (8421)
             11     12
              B       C

 

정답은 0xBC 

		//XOR c4 78
		result = 0xc4 ^ 0x78;
		System.out.printf("0x%x\n", result); //답 : 0xbc