자바의 bitSet에 정수의 바이너리 표현식을 입력하는 방법은 무엇입니까?자바의 bitSet에 정수의 바이너리 표현식을 입력하는 방법
는
이 기능이 거기에있다, 나는 비트 세트에1111
를 넣어 원하는
a = 15
말?
자바의 bitSet에 정수의 바이너리 표현식을 입력하는 방법은 무엇입니까?자바의 bitSet에 정수의 바이너리 표현식을 입력하는 방법
는
이 기능이 거기에있다, 나는 비트 세트에1111
를 넣어 원하는
a = 15
말?
BitSet
는
그래서 긴 하나 배열, 당신은 단지 하나의주어진 모든 비트를 포함하는 새로운 비트 세트를 돌려 고정
valueOf(long[])
방법이있다) = 비트 세트로 결과를 추가 긴 배열.
int
값에서
BitSet
을받을 필요가 있다면이 갈망와 배열 등 128 비트,
이있을 것이다, 64 비트를 가지고있는 것처럼 사용합니다 그래서
Integer value = 42;
System.out.println(Integer.toBinaryString(value));
BitSet bitSet = BitSet.valueOf(new long[] { value });
System.out.println(bitSet);
그것은 즉
101010
{1, 3, 5}
은 권리에서 인쇄 위의 표현에서 왼쪽으로, 2, 4 및 6 비트가 설정됩니다.
bitSet의 의미는 {1,3,5}입니까? ..... – user3495562
@ user3495562 내부를 모르겠습니다. 이것은 설정된 비트의 인덱스를 나타내는 '문자열'표현입니다. –
java에서 이것을 수행 할 수 있습니다! =)
int value = 10; //0b1010
String bits = Integer.toBinaryString(value); //1010
BitSet bs = new BitSet(bits.length());
나서
for (int i = 0; i < bits.length(); i++) {
if (bits.charAt(i) == '1') {
bs.set(i);
} else {
bs.clear(i);
}
}
System.out.println(bs); //{0, 2} so 0th index and 2nd index are set.
감사합니다 그럼이 문자열을 bitSet에 넣는 방법? – user3495562
for 루프를 사용하여 bitSet에 넣는 방법은 무엇입니까? – user3495562
그건 한 가지 방법입니다! @ user3495562 =) for (int i = 0; i
복제본 http://stackoverflow.com/questions/2473597/bitset-to-and-from-integer-long – slaadvak
@slaadvak 관련 질문에 대한 이후 답변 중 하나는 "BitSet.valueOf (long []) 및 BitSet.toLongArray() "를 참조하십시오. –