[Java] 자바 진수변환 10진수에서 2진수/8진수/16진수변환하는법

2020-08-27


2진수

 

이진법에서는 0과 1로 모든 수를 표현한다.

컴퓨터 상에서는 각각의 자리를 비트라고 부르며,

각각의 비트는 켜져있거나 꺼져있는 두 가지 상태로 표시된다.

다음 수는 십진수 155를 이진법으로 표현한것이다.


10진수 → 2진수 변환 소스코드

		String nTwo = Integer.toBinaryString(155);
		//진수 변환을 위해서 속성값은 항상 String으로 받아야한다.		
        	System.out.println(nTwo);

출력값

1 0 0 1 1 0 1 1


2진수 → 10진수 변환 소스코드

 

위의  변수 nTwo 값을 다시 가져와 변환을 한다.

		int nTen = Integer.valueOf(nTwo, 2);
		//10진수로 변환하고자 하는 값은 속성값을 int로 설정해야한다.
		System.out.println(nTen);

출력값

155


8진수

 

팔진법(八進法, octal)은 8을 밑으로 하는 기수법이다.

0부터 7까지의 숫자를 사용한다.

8진법은 오른쪽 끝 숫자부터 시작해서,

연속되는 3자리 숫자를 묶음으로써 

2진법으로부터 만들어질 수 있다.

ex) 155 숫자 입력


10진수 → 8진수 변환 소스코드

		String nEight = Integer.toOctalString(155);
		//진수 변환을 위해서 속성값은 항상 String으로 받아야한다.
		System.out.println(nEight);

출력값

233


8진수 → 10진수 변환 소스코드

 

위의  변수 nEight 값을 다시 가져와 변환을 한다.

		int nTen = Integer.valueOf(nEight, 8);
		//10진수로 변환하고자 하는 값은 속성값을 int로 설정해야한다.
		System.out.println(nTen);

출력값

155


16진수

 

십육진법(十六進法, hexadecimal)은 

십육을 밑으로 하는 기수법이다.

보통 0부터 9까지의 수와

A에서 F까지의 로마 문자를 사용하고,

이때 대소문자는 구별하지 않는다.

 이진법 표기의 4자리와 십육진법 한 자리가 일대일 대응하며,

이진수가 많이 쓰이는 컴퓨터에서

이진수를 대신해 많이 쓰이고 있다.

1바이트는 8비트, 즉 이진수 8자리이므로,

십육진수 두 자리로 표현할 수 있다.

ex) 155 숫자 입력


10진수 → 16진수 변환 소스코드

		String nSixteen = Integer.toHexString(155);
		//진수 변환을 위해서 속성값은 항상 String으로 받아야한다.
		System.out.println(nSixteen);

 

출력값

9b


16진수 → 10진수 변환 소스코드

 

위의  변수 nSixteen 값을 다시 가져와 변환을 한다.

		int nTen = Integer.valueOf(nSixteen, 16);
		//10진수로 변환하고자 하는 값은 속성값을 int로 설정해야한다.
		System.out.println(nTen);

출력값

155