3个不稳定版本
0.2.0 | 2022年11月7日 |
---|---|
0.1.1 | 2022年10月10日 |
0.1.0 | 2022年10月9日 |
#992 in 数学
23 monthly downloads
在 hwcalc 中使用
91KB
2.5K SLoC
hwcalc
hwcalc,或 hc
,是一个任意位宽的计算器。
文档
请参考 docs/man/hc.1
中的手册页,例如。
$ man -l docs/man/hc.1
还有可渲染的版本,请访问 https://hllmn.net/man/hc.1。
构建
Cargo 包管理器可用于获取依赖项并构建 hc
$ cargo build --release
生成的二进制文件将位于 target/release/hc
。
安装
Makefile 中有一个规则用于安装 hc
二进制文件和手册页
# make install
还有一个卸载规则
# make uninstall
或者,您可以通过 Cargo 从 crates.io 安装 hc
cargo install hwcalc
这将把 hc
二进制文件安装到 Cargo 根目录下的 bin/hc
中(通常是 ~/.cargo
),但不会安装手册页。
示例
hc
的功能类似于典型的计算器,可以输入要评估的表达式
> (2 + 7) * 0xd
117
= 0b111_0101
= 0o165
= 0x75
可以用类型说明符给数字指定特定的宽度
> 77u8
77
= 0b0100_1101
= 0o115
= 0x4d
对于负数,将显示二进制补码表示
> -77i8
-77 (= 179)
= 0b1011_0011
= 0o263
= 0xb3
数字的符号影响其在宽度不同时的扩展方式
> 32u8 + (-1)'i4
31
= 0b0001_1111
= 0o037
= 0x1f
> 32u8 + (-1)'u4
47
= 0b0010_1111
= 0o057
= 0x2fa
值不仅可以是整数,也可以包含小数部分
> 10/4
2.5 (= 5/2)
= 0b10.1
= 0o2.4
= 0x2.8
默认情况下,精度是无限的,如果值不能由有限数量的数字表示,则无限重复的数字序列将被括号包围
> 1/3
0.(3) (= 1/3)
= 0b0.(01)
= 0o0.(25)
= 0x0.(5)
如果指定了小数宽度,则将截断小数部分
> 1/3q.8
0.332_031_25 (= 85/256)
= 0b0.0101_0101
= 0o0.252
= 0x0.55
未指定整数宽度的负数在非十进制基中将在整数部分有一个无限重复的数字
> -5.25
-5.25 (= -21/4)
= 0b(1)010.11
= 0o(7)2.6
= 0x(f)a.c
依赖关系
~595KB
~13K SLoC