- 把数据转成2进制
- 把二进制转成字符串
- 把二进制放在 bin1,bin2,bin3,bin4变量中,进行交换反转
- 把二进制转成十进制
/**
* 高低位调换
* */
public static String reverse32bit(String binStr){
if(binStr.length()<32){
String zero="";
for(int i=0;i<(32-binStr.length());i++){
zero=zero+"0";
}
binStr=zero+binStr;
}
String bit4=binStr.substring(0,8);
String bit3=binStr.substring(8,16);
String bit2=binStr.substring(16,24);
String bit1=binStr.substring(24,32);
return bit1+bit2+bit3+bit4;
}
/**
*二进制转long
*/
public static Long convert32Bin2Long(String str){
Long lng=0L;
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
if(c=='1'){
lng= lng+(long) (Math.pow(2,str.length()-1-i));
}
}
return lng;
}
注意:java中默认传输是大端传输,所以才有了本章节的高低位互转,实际解决问题的根本思路是进行byteOrder的设置。
转载请注明:程序鱼 » 32bit的高低位互转