he wei
5 天以前 3c3576d5792bfabcef84979757ee344712e71cd3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 *  将整数转为二进制数 并输出每一位的值到数组中 从低位到高位 二进制位数可指定 (多的裁切 不够的补0)
 */
export default function getBinaryDigits(num = 0, bits = 16) {
  // 将数值转换为二进制字符串
  let binaryStr = num.toString(2);
  let len = binaryStr.length;
  // 位数过多的裁切 不够的补0
  if (len > bits) {
    let start = len - bits;
    binaryStr = binaryStr.slice(start);
  } else if (len < bits) {
    let len0 = bits - len;
    let preStr = new Array(len0 + 1).join("0");
    binaryStr = preStr + binaryStr;
  }
  // 将二进制字符串转换为数组
  let binaryArray = binaryStr
    .split("")
    .map((v) => v * 1)
    .reverse();
  return binaryArray;
}