xubinbin
2023-12-12 42a2772d1aa7493bcc4fac3e24ee8eda4eebc23d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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;
    }
}