강좌 & 팁
글 수 2,412
2013.05.05 13:04:04 (*.52.177.249)
39274
제목을 뭐라고 붙여야 할지 잘모르겠어서 그냥 이진수의 비트값 확인이라고 해봤습니다.
설명을 하기도 아는게 없어서 뭐라고 해야 할지 잘 모르겠네요...^^;
네트워크 통신으로 받은 값의 몇번째 비트가 서있는지를 확인 해야 할때, 쉽게 사용하기 위해 샘플을 한번 만들어 봤습니다.
일단 맞는것 같은데....
보시고 문제가 있을것 같은면....연락을...^^;
[샘플소스]
public class ConvertIntegerToBitDigitValue { public static void main(String[] args) { int hex = 15; System.out.printf("binary : [%s]\n", Integer.toBinaryString(hex)); for (int i = 0; i < 4; i++) { System.out.printf("integerToBitDigitValue : %d번째 %s \n", i, integerToBitDigitValue(hex, i)); } System.out.println("-----------------------------------------"); hex = 10; System.out.printf("binary : [%s]\n", Integer.toBinaryString(hex)); for (int i = 0; i < 4; i++) { System.out.printf("integerToBitDigitValue : %d번째 %s \n", i, integerToBitDigitValue(hex, i)); } System.out.println("-----------------------------------------"); hex = 3; System.out.printf("binary : [%s]\n", Integer.toBinaryString(hex)); for (int i = 0; i < 4; i++) { System.out.printf("integerToBitDigitValue : %d번째 %s \n", i, integerToBitDigitValue(hex, i)); } System.out.println("-----------------------------------------"); hex = 12; System.out.printf("binary : [%s]\n", Integer.toBinaryString(hex)); for (int i = 0; i < 4; i++) { System.out.printf("integerToBitDigitValue : %d번째 %s \n", i, integerToBitDigitValue(hex, i)); } } /** * 정수값의 비트자리수의 값이 1인지 0인지 확인<br> * * @param value * 정수값<br> * @param bitDigit * 비트자리수<br> * @return true : 비트자리수의 값이 1<br> * false : 비트자리수의 값이 0<br> */ public static boolean integerToBitDigitValue(int value, int bitDigit) { int bitVal = ((Double) Math.pow(2, bitDigit)).intValue(); return (value & bitVal) == bitVal; } }
[실행 결과]
이런걸 사용할일이 별로 없겠죠...^^;
저도 가끔 사용하는거라....없으면 불편하고 해서 한번 만들어봤습니다.
더 좋은게 있으면 알려주세요.
감사합니다.