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

如何获取指定范围内的所有十六进制数?

获取指定范围内所有十六进制数的方法

核心逻辑很简单:先把十六进制的起始/结束值转换成十进制整数,遍历这个整数区间,再将每个整数转回十六进制格式即可。以下是几种主流编程语言的实现示例:

Python 实现

Python的hex()函数可以直接将整数转为十六进制字符串,结合列表推导式快速生成结果,还能通过格式化字符串自定义输出样式。

示例1:生成0x00到0xFFF的十六进制数

start = 0x00  # 等价于 int("0x00", 16)
end = 0xFFF   # 等价于 int("0xFFF", 16)

# 生成带0x前缀的小写十六进制列表
hex_list = [hex(num) for num in range(start, end + 1)]
# 生成固定4位、大写无前缀的十六进制列表
hex_upper_no_prefix = [f"{num:04X}" for num in range(start, end + 1)]

示例2:生成0xAB到0xFEFF的十六进制数

start = 0xAB
end = 0xFEFF

# 自定义格式:带0X前缀、补全到4位大写
hex_custom = [f"0X{num:04X}" for num in range(start, end + 1)]

JavaScript 实现

用parseInt()转十六进制为十进制,循环遍历后通过toString(16)转回十六进制,配合padStart()补前导零。

示例1:生成0x00到0xFFF的十六进制数

const start = 0x00; // 等价于 parseInt("0x00", 16)
const end = 0xFFF;
const hexNumbers = [];

for (let num = start; num <= end; num++) {
  // 生成带0x前缀、补3位小写的结果
  hexNumbers.push(`0x${num.toString(16).padStart(3, '0')}`);
}

示例2:生成0xAB到0xFEFF的十六进制数

const start = 0xAB;
const end = 0xFEFF;
const hexList = [];

for (let n = start; n <= end; n++) {
  // 生成无前缀的大写十六进制字符串
  hexList.push(n.toString(16).toUpperCase());
}

C++ 实现

通过std::stoul()将十六进制字符串转整数,用std::stringstream结合格式化控制输出十六进制格式。

示例:生成0xAB到0xFEFF的十六进制数

#include <iostream>
#include <vector>
#include <sstream>
#include <iomanip>

int main() {
    unsigned int start = 0xAB; // 等价于 std::stoul("0xAB", nullptr, 16)
    unsigned int end = 0xFEFF;
    std::vector<std::string> hexNumbers;

    for (unsigned int num = start; num <= end; ++num) {
        std::stringstream ss;
        // 格式化输出:带0x前缀、补4位、大写
        ss << "0x" << std::hex << std::setw(4) << std::setfill('0') << std::uppercase << num;
        hexNumbers.push_back(ss.str());
    }

    // 打印前10个结果示例
    for (size_t i = 0; i < 10; ++i) {
        std::cout << hexNumbers[i] << " ";
    }
    return 0;
}

注意事项

  • 边界处理:遍历要包含结束值,Python的range是左闭右开,所以要写range(start, end + 1);其他语言循环条件用num <= end。
  • 格式定制:根据需求选择是否带前缀、大小写、补前导零,不同语言的格式化语法略有差异。
  • 性能优化:如果范围极大(比如0x0到0xFFFFFFFF),避免一次性生成所有元素,改用迭代器或按需生成,减少内存占用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 23:53:23