package com.genersoft.iot.vmp.jt1078.util;
|
|
/**
|
* 32位整型的二进制读写
|
*/
|
public class Bin {
|
|
private static final int[] bits = new int[32];
|
|
static {
|
bits[0] = 1;
|
for (int i = 1; i < bits.length; i++) {
|
bits[i] = bits[i - 1] << 1;
|
}
|
}
|
|
/**
|
* 读取n的第i位
|
*
|
* @param n int32
|
* @param i 取值范围0-31
|
*/
|
public static boolean get(int n, int i) {
|
return (n & bits[i]) == bits[i];
|
}
|
|
/**
|
* 不足位数从左边加0
|
*/
|
public static String strHexPaddingLeft(String data, int length) {
|
int dataLength = data.length();
|
if (dataLength < length) {
|
StringBuilder dataBuilder = new StringBuilder(data);
|
for (int i = dataLength; i < length; i++) {
|
dataBuilder.insert(0, "0");
|
}
|
data = dataBuilder.toString();
|
}
|
return data;
|
}
|
}
|