Questions tagged «bc»

任意精度算术语言。



3
用BC进行浮点运算?
看起来bc不支持浮点运算,当我这样做时,echo 1/8 | bc它的值为零。 我检查了bc (1),但什至没有提及float,所以我想知道是否支持它?
42 bc 


4
python vs bc评估6 ^ 6 ^ 6
我正在分别6^6^6使用python和评估表达式bc。 python文件的内容为print 6**6**6。当我执行时time python test.py,我得到的输出为 real 0m0.067s user 0m0.050s sys 0m0.011s 然后,我运行了命令time echo 6^6^6 | bc,该命令给了我以下输出 real 0m0.205s user 0m0.197s sys 0m0.005s 从这些结果可以明显看出,python和bc所花费的sys时间分别为11ms和5ms。在系统时间级别上,bc命令的性能优于python,但对于用户和实时python,它的速度几乎是bc的4倍。什么可能去了那里。我没有对此类流程给予任何优先考虑。我试图了解这种情况。


4
如果使用BC进行转换,是否了解“ ibase”和“ obase”?
我经常使用bc实用程序将十六进制转换为十进制,反之亦然。然而,它始终是有点试验和错误是如何ibase和obase应配置。例如,在这里我要将十六进制值C0转换为十进制: $ echo "ibase=F;obase=A;C0" | bc 180 $ echo "ibase=F;obase=10;C0" | bc C0 $ echo "ibase=16;obase=A;C0" | bc 192 这里的逻辑是什么?obase(A在我的第三示例)需要在相同的碱,将其转化(该值C0在我的例子)和ibase(16在我的第三示例)必须在我转换到基座?
22 bc 


3
如何在bash中使用正好2个有效数字格式化浮点数?
我想在bash中用正好两个有效数字打印浮点数(也许使用awk,bc,dc,perl等通用工具)。 例子: 76543应打印为76000 0.0076543应打印为0.0076 在这两种情况下,有效数字分别为7和6。对于类似的问题,我已经阅读了一些答案,例如: 如何在shell中四舍五入浮点数? 浮点变量的Bash限制精度 但是答案集中在限制小数位数(例如bc带scale=2或的printf命令%.2f)上,而不是有效位数上。 有没有一种简单的方法可以用2个有效数字来格式化数字,或者我必须编写自己的函数?
17 bash  awk  bc  floating-point  dc 

4
计算变量,并将其输出到另一个变量
我知道的唯一计算器是bc。我想添加1到一个变量,然后输出到另一个变量。 我nextnum从计数文件中的字符串得到了变量: nextnum=`grep -o stringtocount file.tpl.php | wc -w` 可以说nextnum值为1。当添加时1,它将变为2。要计算,我运行: rownum=`$nextnum+1 | bc` 但出现错误: 1+1: command not found 我只是在计算部分失败。我试过更改反引号,但仍然无法正常工作。我不知道如何计算变量并将其输出到另一个变量。

3
BC —自动全精度乘法
高,我需要测试我的任意精度计算器,并且bc看起来像是一个不错的准绳,但是,bc它确实将每个乘法的结果截断为似乎每个所涉及的操作数的最大标度。 有没有一种快速的方法可以将其关闭,或将每个乘法的小数位数自动设置为因子的小数位数之和,以免损失任何精度? 如果您对此解决方案有一个更优雅的解决方案,而不是bc,请与我分享。 例: $ bc <<< '1.5 * 1.5' 2.2 真正的答案是2.25。
10 bc  calculator 


2
无法使用bc对从stdin收到的数字求和
我正在尝试使用以下方法计算文件夹中包含的文件的平均熵: { echo '('; find . -type f -exec entropy {} \; | \ grep -Eo '[0-9.]+$' | \ sed -r 's/$/+/g'; echo '0)/'; find . -type f | wc -l; } | \ tr -d '\n' | bc -l entropy 是一个可执行文件,可计算文件的香农熵,并提供以下形式的输出: $ entropy foo foo: 5.13232 前面的命令错误显示为: (standard_in) 1: …
8 bash  shell  bc 

1
如何定义`bc`函数供以后使用?
我总是发现bc一种神秘而有趣的东西。这是一个在原来的Unix程序。它本身就是一种编程语言。因此,我很高兴能有机会找到使用它的机会。 由于bc似乎不包含阶乘函数,因此我想这样定义一个: define fact(x) { if (x>1) { return (x * fact(x-1)) } return (1) } 但是...我不能再使用了,可以吗? 我希望能够做类似的事情 me@home$ bc <<< "1/fact(937)"
8 shell  bc 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.