【稀缺首发】NXP i.MX RT1170 + Llama-3-8B-Quantized 实战手册(含SVD模型分割算法源码,限前200名领取)

第一章:嵌入式大模型推理的底层挑战与技术边界

在资源受限的嵌入式设备上部署大语言模型(LLM)并非简单地将云端模型移植即可实现,而是直面算力、内存、功耗与实时性四重硬约束的系统性工程挑战。CPU缓存容量通常仅数MB,而主流量化后LLM参数仍需百MB级连续内存;DRAM带宽常低于8 GB/s,远低于GPU的数百GB/s,导致权重加载成为显著瓶颈;同时,MCU或低端SoC缺乏原生INT4/FP16加速单元,使低比特推理依赖低效的软件模拟。

内存墙与权重调度冲突

模型权重无法全量驻留片上SRAM,必须动态分块加载。若采用朴素按层加载策略,将引发频繁的DMA搬运与CPU等待。以下为典型ARM Cortex-M7平台上的权重预取伪代码片段:

// 假设每层权重大小为 WEIGHT_BLOCK_SIZE,SRAM基址为 SRAM_BASE
void prefetch_layer_weights(uint8_t* flash_addr, uint32_t layer_id) {
    uint32_t offset = layer_id * WEIGHT_BLOCK_SIZE;
    // 触发异步DMA从Flash搬移至SRAM
    DMA_Transfer(SRAM_BASE, flash_addr + offset, WEIGHT_BLOCK_SIZE);
    while (DMA_IsBusy()); // 实际应用中应使用中断或双缓冲优化
}

精度-效率权衡的本质限制

不同量化方案在嵌入式场景下的实际开销差异显著:
量化格式单token推理延迟(Cortex-A53)精度损失(Llama-2-1B, AlpacaEval)是否需SIMD扩展支持
INT8 asymmetric~420 ms+1.2%
INT4 packed (bit-level)~980 ms-3.7%是(NEON)
FP16 (no fusion)~1150 ms+0.3%是(VFPv4)

实时性与确定性保障缺失

嵌入式系统要求端到端延迟可预测,但LLM推理存在天然不确定性:
  • 动态分支路径(如自回归生成中的early-exit或跳过机制)破坏时序可分析性
  • 缓存未命中率随输入长度指数增长,导致延迟抖动超±300%
  • 无MMU设备无法隔离模型内存,易受其他任务干扰

第二章:NXP i.MX RT1170 硬件平台深度适配

2.1 Cortex-M7/M4双核协同架构与内存拓扑建模

共享内存映射策略
Cortex-M7(主核)与M4(协核)通过AXI总线访问TCM和SRAM,需显式划分地址空间以避免冲突:
/* TCM分配:M7独占ITCM/DTCM,M4仅访问DTCM低64KB */ 
#define M4_DTCM_BASE     0x20000000U
#define M4_DTCM_SIZE     0x00010000U  // 64KB
#define SHARED_SRAM_BASE 0x20010000U  // 128KB共享区,带MPU保护
该布局确保M4无法越界访问M7关键数据段,同时通过MPU配置实现访问权限隔离。
内存一致性保障机制
  • 使用DSB指令强制写缓冲区刷新
  • 通过SCB_InvalidateDCache_by_Addr清理M7 D-Cache中共享页
  • M4侧启用Cache后需配对执行Clean+Invalidate
双核通信资源分配
资源类型M7角色M4角色
邮箱寄存器生产者消费者
共享FIFO写入控制读取+ACK

2.2 OCRAM/TCM/SDRAM三级缓存一致性配置实践

硬件资源特性对比
内存类型容量访问延迟一致性支持
OCRAM512KB1-cycle无硬件一致性
TCM256KB (ITCM/DTCM)0-wait需手动维护
SDRAM512MB~80ns支持AXI Coherency
关键同步代码片段
/* 清除D-Cache并使TCM数据对SDRAM可见 */
__DSB();                    // 数据同步屏障
SCB_CleanDCache_by_Addr((uint32_t*)&buffer, sizeof(buffer));
__DSB();                    // 确保clean完成
SCB_InvalidateICache();     // 同步指令流
该序列确保TCM中修改的数据被写回SDRAM,并使CPU核间看到一致视图;__DSB()防止指令重排,CleanDCache_by_Addr仅操作目标区域,避免全cache刷新开销。
配置流程要点
  • 启用AXI ACP端口以桥接TCM与SDRAM一致性域
  • 将共享缓冲区地址映射至Memory Attribute Unit(MAU)的Device-nGnRnE域
  • 在多核启动时通过GIC触发SMP barrier中断统一初始化cache策略

2.3 FlexSPI XIP模式下Flash映射与模型加载优化

Flash地址空间映射策略
FlexSPI XIP(eXecute-In-Place)要求Flash内容在地址空间中线性映射至MCU的指令总线。NXP i.MX RT1170默认将QSPI Flash映射至0x60000000–0x67FFFFFF(128MB),其中模型权重需对齐4KB边界以避免跨页读取延迟。
模型加载时序优化
// 配置LUT以支持8-line DDR读取
FLEXSPI_LUT_SEQ(&lut[0], kFLEXSPI_Command_SDR, kFLEXSPI_8PAD, 0x04,
                kFLEXSPI_Command_RADDR_SDR, kFLEXSPI_8PAD, 0x20);
该LUT序列启用8-pad DDR模式,将理论带宽提升至~333 MB/s;参数0x20表示20-bit地址长度,适配32MB Flash容量。
关键参数对照表
参数推荐值影响
AHB Prefetch BufferEnabled降低连续指令取指延迟
Cache Line Size64B匹配Flash Page Read粒度

2.4 PDM/SAI音频外设与语音token流实时预处理实现

硬件协同架构
PDM麦克风阵列通过SAI(Serial Audio Interface)控制器接入SoC,采用双通道TDM模式实现8路PDM信号解调。SAI配置为Master模式,BCLK=3.072 MHz,FS=48 kHz,支持DMA乒乓缓冲。
实时预处理流水线
  • PDM→PCM解调(硬件FIR滤波器)
  • AGC动态增益控制(滑动窗口RMS)
  • VAD触发后启动Whisper token流对齐
关键寄存器配置
寄存器说明
SAI_CR10x00000025启用接收、DMA使能、同步模式
SAI_RCR20x00000010预分频=16,BCLK=FS×32×16
Token对齐时序控制
// SAI中断服务中触发token流锚点
void SAI_RX_IRQHandler(void) {
  if (SAI_GetFlagStatus(SAI_FLAG_RFF) == SET) {
    // 每帧PCM数据(1024样本)对应约21ms → 映射至Whisper chunk边界
    token_anchor_us = system_tick_us + 21000; // 硬件时间戳补偿
  }
}
该代码在SAI接收FIFO满时打下高精度时间锚点,用于后续将原始PCM帧与Whisper模型的token生成时序对齐,误差控制在±1.2ms内。`system_tick_us`由高分辨率定时器提供,确保跨设备时间一致性。

2.5 FreeRTOS+CMSIS-NN混合调度器定制:LLM推理任务优先级绑定

核心调度策略设计
为保障LLM推理的实时性,将CMSIS-NN算子封装为FreeRTOS静态任务,并绑定至最高非中断优先级(configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY−1)。
任务绑定关键代码
static StaticTask_t xInferenceTaskBuffer;
static StackType_t xInferenceStack[INFER_STACK_SIZE];

TaskHandle_t xInferenceTaskHandle = xTaskCreateStatic(
    vLLMInferenceTask,        // 任务函数
    "LLM_INFER",              // 名称
    INFER_STACK_SIZE,         // 栈大小(字)
    NULL,                     // 参数
    tskIDLE_PRIORITY + 5,     // 优先级:高于通信与传感任务
    xInferenceStack,
    &xInferenceTaskBuffer
);
该代码创建高优先级静态任务,确保CMSIS-NN推理不被低优先级任务抢占;tskIDLE_PRIORITY + 5 避免与系统空闲任务冲突,同时留出中断嵌套余量。
优先级映射关系
任务类型FreeRTOS优先级CMSIS-NN算子约束
LLM推理主循环8需连续执行MatMul+Softmax,禁用时间片切换
传感器数据采集3允许被抢占,延迟容忍≤10ms

第三章:Llama-3-8B量化模型的嵌入式裁剪与部署

3.1 AWQ+Group-wise量化参数反向解析与C结构体映射

量化参数反向解析逻辑
AWQ 通过激活感知校准确定每个通道的缩放因子,而 Group-wise 量化将权重按固定大小分组(如128),每组独立计算 scale/zero。反向解析需从量化后整型张量还原原始浮点范围。
C结构体映射规范
typedef struct {
    int8_t *qweight;     // 逐组量化权重(int8)
    float *scales;       // 每组scale(float32)
    int32_t *g_idx;      // 组索引映射(可选,支持非连续分组)
    uint32_t group_size; // 组大小(如128)
} awq_group_q4_weight_t;
该结构体对齐内存布局,确保 GPU kernel 可直接按 stride 访问 scales 和 qweight。
关键字段语义对齐表
字段来源物理含义
scales[i]AWQ校准输出第i组权重的量化缩放因子
qweight[g*group_size + j]量化后INT8张量第g组第j个元素(偏移已归一化)

3.2 KV Cache动态压缩:基于滑动窗口的ring-buffer内存复用实现

核心设计思想
将KV Cache组织为固定容量的环形缓冲区(ring buffer),仅保留最近window_size个token的键值对,过期数据被新数据原地覆盖,避免显式内存释放与重分配。
Ring Buffer写入逻辑
// WriteKV writes key/value at current head, advances ring index
func (r *RingCache) WriteKV(k, v []float32) {
    copy(r.keys[r.head], k)
    copy(r.values[r.head], v)
    r.head = (r.head + 1) % r.capacity
    if r.size < r.capacity {
        r.size++
    }
}
该实现通过模运算实现循环索引,r.capacity为预分配总槽位数,r.size动态跟踪有效长度,兼顾低延迟与内存确定性。
性能对比(单位:GB/s)
策略带宽碎片率
原始KV Cache12.438%
Ring-buffer压缩21.70%

3.3 RMSNorm与RoPE算子的定点化重实现(Q15/Q31混合精度)

混合精度设计动机
RMSNorm需高动态范围除法,RoPE旋转依赖高精度三角函数累加。Q31用于中间累加(231量级),Q15用于权重存储与输出(节省带宽)。
Q15/Q31转换关键逻辑
int32_t rms_norm_q31(const int16_t* x, int32_t* out, int n) {
    int64_t sq_sum = 0;
    for (int i = 0; i < n; i++) {
        int32_t x_q31 = (int32_t)x[i] << 16;     // Q15→Q31: shift left 16
        sq_sum += (int64_t)x_q31 * x_q31;        // Q62 sum
    }
    int32_t inv_rms = fast_inv_sqrt_q31(sq_sum >> 14, n); // 归一化为Q31
    for (int i = 0; i < n; i++) {
        out[i] = ((int32_t)x[i] << 16) * inv_rms >> 31; // Q31 × Q31 → Q31
    }
}
该实现避免浮点开销:`x[i] << 16`完成Q15到Q31升位;`>>31`实现Q62→Q31截断;`>>14`补偿平方和缩放偏差。
RoPE旋转定点化约束
  • 角度表预存为Q15格式(cos/sin ∈ [−1,1])
  • 复数乘法采用Q15×Q31→Q31模式,保障相位累积精度

第四章:SVD模型分割算法工程化落地

4.1 模型层间通信带宽瓶颈分析与分割点自动识别算法

通信开销建模
模型层间张量传输带宽消耗可建模为:$B_i = \frac{\text{size}(T_i) \times 8}{\text{latency}_i}$(单位:Gbps)。其中 $T_i$ 为第 $i$ 层输出张量,$\text{latency}_i$ 为跨设备通信延迟。
自动分割点识别核心逻辑
def find_optimal_split_points(layers, bandwidth_limit=24):
    # layers: [(name, output_bytes, compute_ms), ...]
    candidates = []
    for i in range(1, len(layers)):
        cumul_size = sum(l[1] for l in layers[:i])
        if cumul_size * 8 / 1024 > bandwidth_limit:  # MB → Gb
            candidates.append(i)
    return candidates
该函数遍历层累积输出体积,当跨设备传输所需带宽超限(如24 Gbps)时,触发分割候选。参数 bandwidth_limit 对应PCIe 4.0 x16理论带宽上限。
典型分割策略对比
策略分割粒度通信/计算比
按模块Encoder/Decoder边界1.2
按层每3层切分0.8
动态感知基于带宽预测0.45

4.2 多核间RPC通信协议设计:基于Mailbox+Shared-Memory的零拷贝传输

协议分层架构
该协议分为三平面:控制面(Mailbox)、数据面(Shared-Memory Ring Buffer)和同步面(Atomic Flag + Memory Barrier)。Mailbox仅传递轻量请求头(含ID、长度、偏移),避免数据搬运。
零拷贝内存布局
区域大小访问权限
Mailbox Register64B核间独占写,共享读
Data Ring (Producer)128KBOwner核写,Peer核读
Descriptor Array4KB双核原子读写
请求提交示例
typedef struct { uint32_t req_id; uint16_t len; uint16_t offset; } rpc_hdr_t;
// 写入Mailbox前执行:__atomic_store_n(&mb->flag, 1, __ATOMIC_RELEASE);
// offset指向shared_mem[descriptor[idx].base + len]
该结构体确保接收方可直接通过offset定位共享内存中的有效载荷起始地址,省去数据复制;len字段用于边界校验,防止越界读取;__ATOMIC_RELEASE保障写操作对peer核可见。

4.3 分割后子模型的符号表重定位与运行时重链接机制

符号重定位的核心挑战
当大模型被静态分割为多个子模型(如 encoder/decoder 分片)后,跨分片的函数调用、全局变量引用无法在编译期解析,需依赖运行时符号重定位。关键在于维护统一符号视图与分片地址空间的映射一致性。
重链接流程关键步骤
  1. 加载各子模型 ELF 段,提取 .dynsym 与 .rela.dyn 节区
  2. 构建全局符号表(Global Symbol Table, GST),按 name + version 去重合并
  3. 遍历每个子模型的重定位项,将 R_X86_64_JUMP_SLOT 等目标地址更新为 GST 中解析出的实际 VA
运行时重链接代码示意
void resolve_relocations(SubModel* sm, GlobalSymbolTable* gst) {
  for (int i = 0; i < sm->rela_count; i++) {
    Rela* r = &sm->rela_table[i];
    char* sym_name = gst->strtab + gst->symtab[r->r_info >> 32].st_name;
    void* target_addr = find_symbol(gst, sym_name); // 查全局表
    *(void**)(sm->base + r->r_offset) = target_addr; // 写入 GOT/PLT
  }
}
该函数遍历子模型的重定位表,通过符号名查全局符号表获取真实地址,并直接写入对应偏移位置(如 GOT 条目),实现零延迟调用跳转。
重定位后符号映射示例
子模型ID符号名原始偏移重定位后VA
encoder_0layer_norm_forward0x2a800x7f8a3c104000
decoder_1attention_kv_cache0x1e2c0x7f8a3b90a520

4.4 SVD分割验证工具链:从ONNX Graph到RT1170汇编指令覆盖率分析

工具链数据流概览
→ ONNX Model → SVD Partitioner → RT1170 ASM Backend → Coverage Probe → HTML Report
关键转换示例
# ONNX节点映射至RT1170指令片段
node = model.graph.node[12]  # MatMul + ReLU组合
asm_template = "vmla.s32 r4, r5, r6  @ SVD-partitioned GEMM"
该Python片段提取ONNX计算图中第13个节点,用于触发SVD驱动的算子切分;vmla.s32是Cortex-M7(RT1170核心)支持的向量乘加指令,@后注释标明其源自SVD分解后的低秩子模块。
覆盖率统计维度
维度指标采集方式
指令级ARMv7-M ISA覆盖率ETM trace + objdump --disassemble
分区级SVD秩裁剪生效率ONNX shape inference + asm operand match

第五章:面向工业场景的大模型边缘推理演进路径

工业现场对低延迟、高可靠与数据主权的刚性要求,正驱动大模型推理从云端持续向产线边缘下沉。某汽车焊装车间部署的YOLO-LLM融合模型,在NVIDIA Jetson AGX Orin(32GB RAM)上完成量化剪枝后,推理时延压降至83ms,满足机器人实时纠偏节拍。
典型硬件适配策略
  • 采用TensorRT-LLM对Phi-3-mini进行INT4量化,显存占用从2.1GB降至580MB
  • 利用ONNX Runtime Web在边缘工控机(Intel Celeron J6412)上启用WebAssembly后端
模型轻量化关键代码片段
# 使用llmcompressor对Qwen2-0.5B进行结构化剪枝
from llmcompressor import apply_recipe
recipe = """
quant_stage:
    quant_modifiers:
        - !QuantizationModifier
            start: 0.0
            scheme: int4
"""
apply_recipe(model, recipe, dataset=train_dataloader)
边缘推理性能对比
模型硬件平台平均延迟(ms)精度下降(ΔTop-1)
Qwen2-0.5B-FP16Jetson AGX Orin3270.0%
Qwen2-0.5B-INT4Jetson AGX Orin96+1.2%
产线部署验证流程
  1. 在PLC侧通过OPC UA采集焊枪电流/电压时序数据(10kHz采样)
  2. 边缘节点将时序特征向量输入微调后的TinyLlama-1.1B,实时识别飞溅异常模式
  3. 触发PLC硬接线急停信号(端到端<120ms),同步推送诊断报告至MES系统
内容概要:本文围绕列车-轨道-桥梁交互仿真研究,基于Matlab平台构建数值模型,系统分析列车运行过程中轨道与桥梁结构间的动态相互作用机制。研究涵盖多体动力学建模、耦合系统运动方程求解、边界条件设定及仿真结果可视化等关键环节,重点揭示高速行车条件下基础设施的振动传递规律与力学响应特征。该仿真方法可有效评估结构安全性、舒适性指标及疲劳寿命,为轨道交通工程的设计优化与运维管理提供理论支撑和技术路径。文中配套提供了完整的Matlab代码实现方案及操作说明,便于用户复现、验证和拓展相关研究。; 适合人群:具备Matlab编程基础和结构动力学、车辆动力学等相关专业知识的研究生、科研人员及从事铁路工程、桥梁工程与交通系统安全评估的工程技术人才,尤其适合开展轨道交通耦合振动课题的研究者。; 使用场景及目标:①用于高校与科研机构进行列车-轨道-桥梁耦合系统动力学特性的教学演示与科学研究;②支撑高速铁路桥梁的设计优化、运营安全性评估与减振降噪方案验证;③为复杂交通基础设施的多物理场耦合仿真提供建模思路与代码参考。; 阅读建议:建议读者结合所提供的Matlab代码逐模块深入研读,重点关注系统建模假设、质量-刚度-阻尼矩阵构建方法及数值积分算法的实现细节,同时可通过调整参数进行敏感性分析,进一步掌握仿真模型的适用范围与优化方向。
内容概要:本文系统研究了非线性薛定谔方程的物理信息神经网络(PINN)求解方法,提出一种将物理规律嵌入深度学习模型的科学计算新范式。通过构建全连接神经网络架构,将非线性薛定谔方程及其初始/边界条件作为损失函数的核心组成部分,实现了在无须大量标注数据的提下对复值偏微分方程的高精度数值求解。该方法充分利用自动微分技术精确计算方程残差,有效融合了数据驱动与模型驱动的优势,在光学孤子传播、量子系统演化等典型场景中展现出优异的逼近能力与泛化性能。文中配套提供了完整的Python实现代码,涵盖网络搭建、损失定义、训练优化与结果可视化全流程。; 适合人群:具备Python编程能力与深度学习基础知识,熟悉偏微分方程理论及科学计算的理工科研究生、科研人员,以及从事光学、量子物理、流体力学等领域建模与仿真的工程技术人员。; 使用场景及目标:① 掌握PINN方法的基本原理与实现技巧;② 学习如何将复杂物理方程转化为可训练的神经网络损失项;③ 应用于非线性光学、玻色-爱因斯坦凝聚、水波动力学等问题的仿真与预测;④ 为相关科研课题提供可复现的算法原型与代码参考。; 阅读建议:建议读者结合所提供的Python代码进行动手实践,重点理解神经网络对微分算子的近似机制、损失函数的多任务加权策略以及训练过程中的超参数调优方法,进而可迁移至其他非线性偏微分方程的求解任务,拓展其在交叉学科中的应用边界。
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 微软推出的【AZ-900微软认证】是一项针对初学者的基础级云服务资格认证,其目的在于帮助学习者掌握云概念、微软Azure服务的运作机制以及云解决方案的核心知识。获得这一认证后,考生将能够清晰地理解云计算领域的基础术语、服务模式(包括IaaS、PaaS、SaaS等)以及这些服务在Azure平台上的实际应用方式。 在【必过考题】部分,我们可以观察到两个重点议题,它们分别聚焦于PaaS(平台即服务)的概念阐释和云成本的计算方式。 在第一个议题中,考生被要求辨别关于PaaS的正确性描述。PaaS平台提供了一个开发环境,但并不允许用户直接访问操作系统(Box 1: No)。比如,Azure Web Apps服务可以用来部署web应用,但用户无法直接管理虚拟机或IIS系统。另一方面,PaaS确实具备自动扩展的功能(Box 2: Yes),这表示可以根据实际需求自动增加负载均衡的虚拟机以支持web应用的运行。PaaS框架还为开发人员提供了构建和调整云端应用的工具,预置的应用组件能够有效缩短新应用的编程周期(Box 3: Yes)。 第二个议题同样关注云计算理念的理解,尤其强调IT支出从资本性支出(CapEx)向运营性支出(OpEx)的转型思想。传统的IT投资通常被视为CapEx,而云计算的按需付费机制使企业能够将这部分开支转化为OpEx,从而在财务规划上获得更大的自由度。 在为AZ-900考试做准备时,考生需要特别关注以下几个核心知识点: 1. **云服务模式**:深入理解IaaS(基础设施即服务)、PaaS和SaaS(软件即服务)之间的差异及其各自的应用情境。 2. **Azure服务*...
源码下载地址: https://pan.quark.cn/s/239a0d536a1e 依据所提供的文件资料,可以归纳出以下核心内容:由清华大学计算机系邓俊辉教授精心编纂的算法训练营题目合集,对于CSP(中国软件专业人才设计与创业大赛)及PAT(程序设计能力测试)这类编程竞赛具有极高的参考价值,堪称一份极具价值的参考资料。此类竞赛普遍对参赛者的算法功底和编程技巧提出严苛要求。该合集中的题目与算法领域紧密相连,其中包了“最大红矩形”这一典型题目。所谓最大红矩形题目,其核心任务是针对一个由红色与绿色方格构成的棋盘,寻觅出最大的纯红矩形区域。要攻克这一问题,必须运用数据结构与算法的相关知识,特别是栈这一数据结构的应用。 “最大红矩形”问题能够被抽象转化为“直方图最大面积”问题。具体转化方法是将棋盘的每一列视为一个独立的直方图单元,其中红色方格的贡献体现为当位置与一个绿色方格所在行数的差值,从而保证每个直方图的基宽恒定为1。随后,借助扫描直方图的技术手段来探寻最大矩形面积。这一过程需要对每个直方图进行系统性遍历,并利用栈来记录各直方图的下标信息。一旦检测到当直方图的高度小于栈顶元素所记录的高度,则意味着遭遇了一个“高点”,此时需计算以该“高点”为右边界条件的最大矩形面积。 在编程实践环节,必须高度关注栈的操作细节,以及如何精确地初始化和操纵栈来应对直方图问题。代码实现中,通常配置两个栈,一个用于储存直方图的高度值,另一个用于标记直方图的下标位置。当面对新高度时,需审慎判断当高度与栈顶高度的相对关系,并据此抉择是执行入栈操作还是计算面积。针对“低点”(即当高度小于栈顶),应直接将当高度纳入栈中;而对于“高点”,则需执行弹出栈顶元素的操作,并基于该栈顶元素的高...
源码链接: https://pan.quark.cn/s/3af847fbbec7 在计算机科学与编程领域中,十六进制(Hexadecimal)以及二进制(Binary)是两种关键性的数值表示方法。十六进制属于一种基于16的计数系统,它运用0至9的数字以及字母A至F(分别象征10至15的数值)来呈现数值,与此同时,二进制则是一种基于2的计数系统,仅采用0和1两个符号。掌握这两种进制之间的相互转换对于深入理解计算机内部运作机制具有决定性意义,因为计算机在底层数据的存储与处理环节通常都是以二进制的形式来进行的。将十六进制转换成二进制的过程可以通过以下几个环节得以完成: 1. **单个十六进制符号的转换**:每一个十六进制符号对应着4位二进制序列。具体而言: - 十六进制中的`0`在二进制表达为`0000` - 十六进制中的`1`在二进制表达为`0001` - 十六进制中的`2`在二进制表达为`0010` - 依此类推 - 十六进制中的`9`在二进制表达为`1001` - 十六进制中的`A`或`a`在二进制表达为`1010` - 十六进制中的`B`或`b`在二进制表达为`1011` - 十六进制中的`C`或`c`在二进制表达为`1100` - 十六进制中的`D`或`d`在二进制表达为`1101` - 十六进制中的`E`或`e`在二进制表达为`1110` - 十六进制中的`F`或`f`在二进制表达为`1111` 2. **多位十六进制符号的转换**:针对一个由多个十六进制符号组成的数值,我们可以逐个符号进行转换,并将得到的二进制序列依次拼接。例如,十六进制数`3F`转换成二进制形式为`00111111`。 3. **编程实现方法**:在编程实践过程中,众多编程语言提...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值