/** * 位运算相关工具函数 * * @filename packages/utils/src/utils/bitUtils.ts * @author Mr Prince * @date 2023-04-20 10:34:46 */ /** * n的二级制, 从右数的第 k 位的数值 * @param n >= 0 * @param k >= 0, 等于0表示最后一位 */ export declare function bit(n: number, k: number): 0 | 1; /** * n的二级制, 从右数的第 k 位的数值是否为1 * @param n >= 0 * @param k >= 0, 等于0表示最后一位 */ export declare function is1FromRightK(n: number, k: number): boolean; /** * n的二级制, 从右数的第 k 位的数值设置为1 * @param n >= 0 * @param k >= 0, 等于0表示最后一位 */ export declare function set1FromRightK(n: number, k: number): number; /** * 将最后一位 1 设置为0 * @param n > 0 */ export declare function set0FromRight(n: number): number; /** * 判断 n 是否是2的幂 */ export declare function is2N(n: number): boolean; /** * 统计 n 的二进制中有多少个 1 */ export declare function bitCount(n: number): number; /** * 二进制码转格雷码 * 看不懂自己查文档 */ export declare const binaryCodeToBinaryGrayCode: (n: number) => number; /** * 生成长度为 n 的 二进制格雷码 * 看不懂自己查文档 */ export declare function binaryGrayCode(n: number): number[]; /** * 格雷码转二进制 * 看不懂自己查文档 */ export declare function binaryGrayCodeToBinaryCode(grayCode: number): number;