2016-09-29 2 views
0

Я пытаюсь преобразовать содержимое массива после преобразования строки в бит String, чтобы установить 0bit, 1bit, 2bit, 3bit в объект java в нужном месте. 13 -> 1101 -> 1011 (цель) В настоящее время перед включением значения:превратить содержимое всего массива в массив

secondByteBitArray[0] = "1" 
secondByteBitArray[1] = "1" 

После поворота значения:

secondByteBitArray[0] = "1" 
secondByteBitArray[1] = "0" 

код

String secondByte = "13"; 
    String secondByteBits = new BigInteger(secondByte, 16).toString(2); 
    String[] secondByteBitArray = secondByteBits.split("(?<=\\G.{1})");  
    for(int i=0; i<secondByteBitArray.length; i++){ 


    } 

ли есть ли какой-либо java-метод для этого?

+0

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html? – Slavik

ответ

1
String secondByte = "13"; 
String secondByteBits = new BigInteger(secondByte, 16).toString(2); 
String[] secondByteBitArray = secondByteBits.split("(?<=\\G.{1})");  
for(int i=0; i<secondByteBitArray.length/2; i++){ // note the division 
    int i2 = secondByteBitArray.length-i-1; 
    // swap 
    String aux = secondByteBitArray[i]; 
    secondByteBitArray[i] = secondByteBitArray[i2]; 
    secondByteBitArray[i2] = aux; 
} 
Смежные вопросы