You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Int并将其转换为16位二进制格式?

将整数转换为16位二进制格式(字符串/数字数组)

生成16位二进制字符串

核心思路是利用格式化工具将整数转为二进制字符串,并强制补前导零至16位。如果需要处理负数,先将其转换为无符号16位整数(对65536取模,即2^16)再处理。

以Python为例:

def int_to_16bit_str(num):
    # 处理负数,转换为无符号16位整数
    unsigned_num = num % 65536
    # 格式化为16位二进制字符串,不足补0
    return format(unsigned_num, '016b')
  • 测试示例:int_to_16bit_str(5) 返回 '0000000000000101'
  • 测试示例:int_to_16bit_str(-1) 返回 '1111111111111111'

生成16位数字数组

基于上面的二进制字符串,将每个字符转换为整数即可得到数字数组:

def int_to_16bit_array(num):
    bit_string = int_to_16bit_str(num)
    # 遍历字符串每个字符,转为int后存入数组
    return [int(bit) for bit in bit_string]
  • 测试示例:int_to_16bit_array(5) 返回 [0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1]

其他语言示例(Java)

如果使用Java实现:

public class BitConverter {
    // 生成16位二进制字符串
    public static String intTo16BitStr(int num) {
        // 保留低16位,处理负数
        int unsignedNum = num & 0xFFFF;
        // 格式化为16位,补前导零
        return String.format("%16s", Integer.toBinaryString(unsignedNum)).replace(' ', '0');
    }
    
    // 生成16位数字数组
    public static int[] intTo16BitArray(int num) {
        String bitStr = intTo16BitStr(num);
        int[] bitArray = new int[16];
        for (int i = 0; i < 16; i++) {
            bitArray[i] = bitStr.charAt(i) - '0';
        }
        return bitArray;
    }
}

内容的提问来源于stack exchange,提问作者Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 01:45:41