낙찰 공구.
낙찰과 낙찰 작업을 하기 위해 Util을 썼습니다.다음과 같습니다.
public class FlagBitUtil {
public static final int FULL_FLAG = 0XFFFFFFFF ;
/**
*
* @param falg
* @param offset
*/
public static int sign(int flag , int offset){
int offsetT = 1 << ( offset - 1);
return flag | offsetT ;
}
/**
*
* @param falg
* @param offset
*/
public static int removeSign(int flag , int offset){
int offsetT = 1 << ( offset - 1);
offsetT = FULL_FLAG ^ offsetT ;
return flag & offsetT ;
}
/**
*
* @param flag
* @param offset
* @return
*/
public static boolean checkSign(int flag , int offset){
int offsetT = 1 << ( offset - 1);
return (flag & offsetT) == offsetT ;
}
}
테스트는 다음과 같습니다.
public class Test {
public static void main(String[] args) {
int flag = 0 ; //
flag = FlagBitUtil.sign(flag, 3); // 3
System.out.println(flag + "\t" + Integer.toBinaryString(flag));
flag = FlagBitUtil.sign(flag, 4); // 4
System.out.println(flag + "\t" + Integer.toBinaryString(flag));
flag = FlagBitUtil.removeSign(flag, 3) ; // 3
System.out.println(flag + "\t" + Integer.toBinaryString(flag));
// 1、2、3、4、5
System.out.println(FlagBitUtil.checkSign(flag, 1));
System.out.println(FlagBitUtil.checkSign(flag, 2));
System.out.println(FlagBitUtil.checkSign(flag, 3));
System.out.println(FlagBitUtil.checkSign(flag, 4));
System.out.println(FlagBitUtil.checkSign(flag, 5));
}
}
출력:
4 100
12 1100
8 1000
false
false
false
true
false
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.