所以 dc 是一个很好的在碱基之间转换的工具——对于那些小题大做的编码工作来说很方便。例如将 1078 转换为二进制我可以这样做:
bash> echo "2o1078p" | dc
10000110110
但是我不能让它正确打印 0 到 1 之间的分数。尝试将 0.3 转换为二进制:
bash> echo "2o10k 0.3p" | dc
.0100
但是 0.0100(bin) = 0.25 而不是 0.3。
但是,如果我手动构造值,我会得到正确的答案
bash> echo "2o10k 3 10 / p" | dc
.0100110011001100110011001100110011
好吧,看起来它给了我超过我要求的 10 个有效数字,但没关系
难道我做错了什么?还是我想让 dc 做一些它做不到的事情?
bash> dc --version
dc (GNU bc 1.06) 1.3
...