美文网首页
16进制转换、获取指定位值

16进制转换、获取指定位值

作者: 陈陈_04d0 | 来源:发表于2020-11-30 09:15 被阅读0次

16进制跟10进制互转

10==>16  Integer.toHexString(10);

16==>10 Integer.parseInt("7F");

 int data= 0x00000708;

  ByteBuffer buffer = ByteBuffer.allocate(4);

   buffer.putInt(data); 

   int byte2 =   buffer.getShort(2);  两个字节值(111 00001000=1800);


16进制跟数组互转

public static byte[]hexStringToByteArray(String s) {//16进制String 转为数组

int len = s.length();

    byte[] data =new byte[len /2];

    for (int i =0; i < len; i +=2) {

data[i /2] = (byte) ((Character.digit(s.charAt(i), 16) <<4) + Character.digit(s.charAt(i+1), 16));

    }

return data;

}

public static StringbytesToHexString(byte[] bArray) {//数组转为16进制String

StringBuffer sb =new StringBuffer(bArray.length);

    for (int i =0; i < bArray.length; ++i) {

String sTemp = Integer.toHexString(255 & bArray[i]);

        if (sTemp.length() <2) {

sb.append(0);

        }

sb.append(sTemp.toUpperCase());

    }

return sb.toString();

}


高四位值 :1&0xf0>>4

低四位值:1&0x0f 

指定位值:

for (int i =0; i <8; i++) {

Log.e("getBit", getBit(127, i) +"==");

}

public int getBit(int value, int index) {

if (index >7)

return -1;

    return value >> index &0x01;

}

相关文章

网友评论

      本文标题:16进制转换、获取指定位值

      本文链接:https://www.haomeiwen.com/subject/rrpxiktx.html