b
1

bcal:面向位、字节与存储单位的命令行计算器

bcal 是一款运行在终端中的交互式计算器,适合处理存储容量表达式、SI/IEC 单位换算、进制转换、字节地址以及 LBA/CHS 计算,也支持常见算术、位运算和部分数学函数。

链接直达

bcal:面向位、字节与存储单位的命令行计算器

原站提供的展示图片。

bcal(Byte CALculator)面向经常处理位、字节、地址和二进制前缀的用户。它以终端交互方式工作,也能直接计算命令行参数、读取管道输入或进行文件重定向,适合存储容量计算、底层地址换算和整数表达式处理。

用途与适用场景

bcal 主要用于存储相关计算和通用数值运算。它可以计算带有 B、KiB、MiB、GiB、TiB 以及 kB、MB、GB、TB 等单位的表达式,并在 SI 与 IEC 存储单位之间进行换算。对于需要查看二进制、十进制或十六进制表示,分析整数的位位置,或在磁盘参数之间转换的场景,也可以使用相应功能。

在存储容量、扇区地址、磁盘几何参数或底层数据处理中,bcal 能将字节地址表示为 LBA 与偏移,也能在 LBA 和 CHS 之间转换。它还适用于需要加减乘除、取模、移位、按位与或、按位或、异或及取补等操作的终端工作流。

准备与上手方式

bcal 使用 C 编写,依赖标准 libc 和 GNU Readline,或可选用 BSD Editline。构建时也可以排除 Readline,使用自带的输入提示和历史文件支持;静态构建会强制采用这种方式。项目提供包管理器安装和源码构建方式,源码构建支持通过 PREFIX 指定不同安装位置。

不带参数运行时会进入 REPL 交互模式。这里可以进行存储单位换算、表达式计算和进制相关操作,最近一次有效结果会保存为变量 r,便于后续表达式继续使用。也可以直接把表达式作为参数执行;此时表达式需要加引号,表达式中的空格会被忽略。输入可以来自管道或文件重定向。

命令行还支持直接传入容量和单位,例如单位默认按字节处理,单位名称不区分大小写。通用计算模式可通过 -b 启动,也可以在交互过程中切换;提示符会根据当前模式显示为 bytes> 或 maths>。

主要计算功能

存储表达式支持加法、减法、乘法、除法和取模,也支持按位与、按位或、异或、取补、左移和右移。通用计算模式还提供 exp、log、ln、pow、root 和 sum 等函数,浮点运算使用 long double。整数输入可使用十进制、以 0x 开头的十六进制,部分操作也识别以 0b 开头的二进制表示。

bcal 能把容量转换为不同的 SI 或 IEC 单位,并显示字节地址;通过选项可以查看 LBA 与偏移。它支持二进制、十进制和十六进制之间的转换,也能显示一个整数的各个位位置及对应位值。输出可以设置为简略形式,整数数学结果也可以要求以十六进制显示。

LBA 与 CHS 转换支持自定义扇区大小、每柱面最大磁头数和每磁道最大扇区数。默认扇区大小为 512,每柱面最大磁头数为 16,每磁道最大扇区数为 63。转换参数使用连字符分隔,未指定的数值按零处理。

使用边界与注意事项

bcal 只支持 64 位操作系统。数值转换在具备 __uint128_t 时可使用 128 位精度,否则为 64 位;浮点运算使用 long double。存储表达式不支持负值,存储单位中也不支持 bit 作为单位。

字节不能出现小数,因为字节不可被分割寻址;当计算结果不是整数个字节时,bcal 会显示向下取整后的字节值。输入容量时可以使用十进制或十六进制数值,但二进制表示主要用于其他操作。

交互历史文件保存在 XDG_CONFIG_HOME/bcal/history;如果 XDG_CONFIG_HOME 未设置,则使用 HOME/.config/bcal/history。位值输出的颜色可以通过 BCAL_BIT_ANSI_COLOR_CODE 自定义,也可以设为空以关闭颜色。

bcal 是否支持把 bit 作为容量单位?

不支持。容量单位包括 B、KiB、MiB、GiB、TiB、kB、MB、GB 和 TB,默认单位为 B,也就是字节。

非整数个字节的计算结果会怎样处理?

bcal 会显示向下取整后的字节值,因为实际地址不能表示小数个字节。


访问软件官网 · 查看资料来源

相关推荐

N

Neovim 是一款基于 Vim 的文本编辑器,强调可扩展性、易用性和跨环境使用。它支持 Lua 插件、Vimscript、LSP、Tree-sitter、终端,以及通过 RPC 连接的图形界面和其他扩展。

D

DBeaver Community 是一款免费、开源的通用数据库管理工具,适合个人项目。它支持连接和探索 MySQL、MariaDB、PostgreSQL、SQLite、SQL Server、Apache 家族等关系型数据库,并提供数据编辑、SQL 编辑、元数据管理、任务管理和数据库维护工具。

w

watchexec 是一个命令行工具,用于监视当前目录中的文件变化,并在变化发生时执行指定命令。它适合自动启动构建流程、重启开发服务器、检测活动,减少反复手动按回车执行命令的操作。

T

Tracely-ai 将 AI Agent 的生产追踪、质量评估、故障聚类和回归测试连接起来。它可以接收 Agent trace,对对话、运行或单个 span 进行评估,将失败运行冻结为可重放测试,并在 Pull Request 中发现回归时阻止合并。

s

simutil 是面向移动开发和测试的设备工具集,提供桌面应用、TUI 与 CLI。它可启动、关闭、连接、投屏、控制、录制安卓和苹果设备,并支持批量场景执行、日志查看、插件扩展及脚本自动化。

评论

暂无评论,来抢沙发~