Java 간단한 bit 변환기
3. 간단한 bit 변환기
간단한 bit 변환 함수를 만들어 보자. 일단은 int형의 값을 인자로 갖고 boolean 배열의 형태로 값을 리턴하는 형식을 취할 것이다.
이 메소드의 처리과정을 나열해 보면
1. 비트를 표현하는 boolean[]을 리턴 값으로 갖는다.
2. int값과 얻을 비트수를 메소드의 파라미터로 갖는다.
3. 메소드(함수)의 내부에서 int 값을 boolean[]로 변환하는 로직을 구현한다.
4. 비트수 만큼 루프(loop)를 돌려서 비트값을 얻는다.
5. 해당 비트값은 int값을 2로 %연산한 값이 1인지 아닌지로 판별한다.
6. 5번의 처리 후 값을 2로 나누어 준다.
7. int 값은 양의 정수만을 대상으로 한다.
코드는 다음과 같다.
public class Example1 {
/**
* 인자로 주어진 int 값을 boolean 배열로 얻는다.
* @param value 값
* @param bitNum 비트갯수
* @return boolean 배열
*/
public static boolean[] convertToBits(int value, int bitNum) {
boolean[] arr = new boolean[bitNum];
long temp = value;
for(int i=bitNum-1; i>=0; i--) {
if(temp%2 == 1) {
arr[i] = true;
} else {
arr[i] = false;
}
temp = (int)(temp / 2);
}
return arr;
}
/**
* 메인 함수
* @param args
*/
public static void main(String[] args) {
boolean[] bits = convertToBits(-10, 8*4);
for(int i=0; i<bits.length; i++)
System.out.print((bits[i])?"1":"0");
}
}
댓글
댓글 쓰기