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; } }