bconv 是一个专为嵌入式开发者和系统管理员设计的轻量级命令行进制转换工具。支持十进制、十六进制、二进制和任意进制之间的转换,具有位分组和位宽截断等特殊功能,方便调试寄存器值。
- 智能输入识别:自动识别
0x(十六进制)、0b(二进制) 前缀,支持负数输入 - 多种输出格式:支持十进制、十六进制、二进制和自定义进制 (2-36) 输出
- 格式化显示:支持二进制和十六进制的分组显示
- 位宽控制:模拟 8/16/32/64 位数据类型的溢出行为
- 前缀显示:可选择显示
0x和0b前缀 - 管道友好:简洁的输出格式,便于在脚本中使用
# 使用 CMake 构建
cmake -B build && cd build && make
# 或者使用现有构建目录
cd build && make
# 运行程序
./bin/bconvbconv [选项] <数值>如果不加任何输出格式选项,默认显示该数值的十进制、十六进制和二进制三种形式:
$ bconv 255
Dec:255
Hex:FF
Bin:11111111程序会自动识别输入格式:
0x或0X前缀:十六进制 (如0xFF)0b或0B前缀:二进制 (如0b1010)- 无前缀:十进制 (如
255)
-x, --hex仅输出十六进制-d, --dec仅输出十进制-b, --bin仅输出二进制-c <base>输出为任意指定进制 (2-36)
-g, --group启用分组显示- 二进制每 4 位加空格
- 十六进制每 4 位(16bit)加空格
-w <bits>位宽限制 (8, 16, 32, 64)- 模拟数据溢出,例如输入
0x1FF且限制-w 8,结果应为0xFF
- 模拟数据溢出,例如输入
-u, --upper十六进制强制大写 (如0xFFvs0xff)-p, --prefix开启二进制和十六进制的前缀显示 (0x0b)
-h, --help显示帮助信息-v, --version显示版本信息
$ bconv 0x3A
Dec:58
Hex:3A
Bin:111010$ bconv -b -g 48879
Bin:1011 1110 1110 1111$ bconv -d -w 8 300
Dec:44$ bconv -c 16 255
Radix[16]:FF$ bconv -p -u 255
Dec:255
Hex:0XFF
Bin:0b11111111# 仅输出十六进制结果
$ bconv -x 255
Hex:FF├── CMakeLists.txt # 主构建配置
├── src/
│ ├── main.c # 程序入口点,命令行参数解析
│ └── conv.c # 核心转换逻辑实现
├── inc/
│ └── conv.h # 头文件,包含常量定义和函数声明
├── bin/ # 构建输出目录
└── build/ # CMake 构建文件
当前版本:0.0.1 (定义于 inc/conv.h)
- 支持负数输入,使用
--分隔符避免与选项冲突,例如:bconv -- -255 - 自定义进制范围:2-36 (支持 0-9 和 A-Z 字符)
- 位宽限制仅影响显示,不改变原始数值的内部表示