본문 바로가기
Spring/Java

[ Java ] 진수변환 (10진수 ↔ 2진수, 8진수, 16진수)

by snow_hong 2022. 4. 8.

10진수 →  2진수, 8진수, 16진수

  • Integer.toBinaryString(int i);  // 10진수 → 2진수
  • Integer.toOctalString(int i);  //10진수 → 8진수
  • Integer.toHexString(int i);  //10진수 → 16진수

2진수일때 비트연산자를 사용해서 표현도 가능하다.

예제
int i = 127;
 
String binaryString = Integer.toBinaryString(i); //2진수
String octalString = Integer.toOctalString(i);   //8진수
String hexString = Integer.toHexString(i);       //16진수
 
System.out.println("10진수 : " + i);
System.out.println("2진수 : " +binaryString); 
System.out.println("8진수 : " +octalString);  
System.out.println("16진수 : " +hexString);

System.out.println("\n비트연산자 사용");
 		System.out.println("2진수 10 : " + Integer.toBinaryString(10)); 
        System.out.println("2진수 3 : " + Integer.toBinaryString(3)); 
        System.out.println("2진수 비트연산자 OR  : " + Integer.toBinaryString(10 | 3)); 
        System.out.println("2진수 비트연산자 AND : " + Integer.toBinaryString(10 & 3)); 
        System.out.println("2진수 비트연산자 XOR : " + Integer.toBinaryString(10 ^ 3)); 
        System.out.println("2진수 비트연산자 NOT : " + Integer.toBinaryString(~10));

 

결과
10진수 : 127
2진수 : 1111111
8진수 : 177
16진수 : 7f

비트연산자 사용
2진수 10 : 1010
2진수 3 : 11
2진수 비트연산자 OR  : 1011
2진수 비트연산자 AND : 10
2진수 비트연산자 XOR : 1001
2진수 비트연산자 NOT : 11111111111111111111111111110101

 

 2진수, 8진수, 16진수 → 10진수

  • Integer.parseInt(String s, int radix); //문자열을 변환할 진수(radix)로 읽어서 int형으로 반환
예제
int binaryToDecimal = Integer.parseInt("1010", 2);
int octalToDecimal = Integer.parseInt("12", 8);
int hexaToDecimal = Integer.parseInt("A", 16);
        
System.out.println("2진수(1010) -> 10진수 : " + binaryToDecimal); // 10
System.out.println("8진수(12) -> 10진수 : " + octalToDecimal); // 10
System.out.println("16진수(a) -> 10진수 : " + hexaToDecimal); // 10
결과
2진수(1010) -> 10진수 : 10
8진수(12) -> 10진수 : 10
16진수(a) -> 10진수 : 10
728x90

댓글