Я пытаюсь преобразовать массив из 8 целых чисел (0 или 1) в тип байта java.8-разрядный байт преобразования
например.
[1,0,1,0,0,0,1,0] = 10100010
Я попробовал поиск в Интернете, может быть, я не ввел правильные запросы? Заранее спасибо!
Я пытаюсь преобразовать массив из 8 целых чисел (0 или 1) в тип байта java.8-разрядный байт преобразования
например.
[1,0,1,0,0,0,1,0] = 10100010
Я попробовал поиск в Интернете, может быть, я не ввел правильные запросы? Заранее спасибо!
Вы можете попробовать это
byte[] bits = { 1, 0, 1, 0, 0, 0, 1, 0 };
byte b = 0;
for (int i = 0, m = 0x80; i < 8; i++, m >>= 1) {
if (bits[i] == 1) b |= m;
}
или это одна линия решение
byte b = (byte) Integer.parseInt(Arrays.toString(bits).toString().replaceAll("\\D", ""), 2);
большой , это именно то, что я искал. благодаря! Я отвечу, когда смогу. –
hm, поэтому я пытаюсь выполнить bitet.set (7); и это дает мне неожиданную ошибку типа. какие-либо предложения? –
'bitset.set (7, false);': См. Http://docs.oracle.com/javase/7/docs/api/java/util/BitSet.html#set%28int,%20boolean%29 –