标签: bc

为什么需要“bc”来构建 Linux 内核?

Linux 内核最低构建要求指定计算器bc需要构建内核 v4.10,该工具的最低版本为1.06.95.

bc在这种情况下有什么用,为什么不直接使用 C 语言来代替bc这些操作?

bc linux-kernel

66
推荐指数
1
解决办法
7227
查看次数

使用 bc 进行浮点运算?

看起来 bc 不支持浮点运算,当我这样做时,echo 1/8 | bc它会得到零。

我查过bc (1),但它甚至没有提到float,所以我想知道它是否受支持?

bc

52
推荐指数
3
解决办法
5万
查看次数

bc 与 dc 有何不同?

dcbc计算器有什么区别?

我应该什么时候使用dc,什么时候使用bc

command-line bc calculator

42
推荐指数
2
解决办法
3万
查看次数

使用 bash 函数在命令行上做简单的数学运算:$1 除以 $2(可能使用 bc)

有时我需要将一个数除以另一个数。如果我可以为此定义一个 bash 函数,那就太好了。到目前为止,我被迫使用诸如

echo 'scale=25;65320/670' | bc
Run Code Online (Sandbox Code Playgroud)

但如果我能定义一个看起来像的 .bashrc 函数就太好了

divide () {
  bc -d $1 / $2
}
Run Code Online (Sandbox Code Playgroud)

command-line function arithmetic bc bashrc

33
推荐指数
4
解决办法
7万
查看次数

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
Run Code Online (Sandbox Code Playgroud)

然后,我运行了time echo 6^6^6 | bc给我以下输出的命令

real        0m0.205s
user        0m0.197s
sys         0m0.005s
Run Code Online (Sandbox Code Playgroud)

从这些结果可以清楚地看出,python 和 bc 所用的 sys 时间分别为 11 毫秒和 5 毫秒。在bc命令跑赢蟒蛇在SYS时的水平,但是当它涉及到用户和实时蟒蛇比BC快近4倍。那里可能有什么。我没有对这些过程给予任何优先考虑。我试图了解这种情况。

performance python process-management bc

29
推荐指数
3
解决办法
3292
查看次数

bc 是否支持十六进制计算?

我正在尝试hex直接使用进行计算bc,我已经指定了比例。

echo 'scale=16;c06b1000-c06a5e78' | bc
Run Code Online (Sandbox Code Playgroud)

但我仍然得到一个零。可能有什么问题?

bc calculator

24
推荐指数
1
解决办法
3万
查看次数

在与 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
Run Code Online (Sandbox Code Playgroud)

这里的逻辑是什么?obaseA在我的第三个例子中)需要与被转换的值(C0在我的例子中)和ibase16在我的第三个例子中)必须在我要转换到的基数中?

bc

23
推荐指数
3
解决办法
3万
查看次数

bc:为什么`ibase=16; obase=10; FF` 返回 FF 而不是 255?

我一直在使用bc二进制到十六进制、八进制到十进制等之间的数字转换。

在以下示例中,我试图将基数为 16(十六进制)的数字转换为二进制、八进制和十进制。

前 2 次尝试我没有任何问题。

$ echo 'ibase=16; obase=2; FF' | bc  
11111111
$ echo 'ibase=16; obase=8; FF' | bc 
377
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将基数 16(十六进制)数字转换为基数 10(十进制)时,我得到了错误的答案。答案应该是255

$ echo 'ibase=16; obase=10; FF' | bc 
FF
Run Code Online (Sandbox Code Playgroud)

bc

23
推荐指数
1
解决办法
2088
查看次数

附加到管道并传递?

我有一个简单的 bash 函数将两个数字相除:

echo "750/12.5" | bc
Run Code Online (Sandbox Code Playgroud)

我想采取输出bc和追加/24和管道表示结果的另一个实例bc

就像是:

echo "750/12.5" | bc | echo $1 + "/24" | bc
Run Code Online (Sandbox Code Playgroud)

$1管道结果在哪里。

PS我意识到我可以做echo "750/12.5/24" | bc我的问题更多的是关于将文本附加到管道结果。

shell pipe bc output

21
推荐指数
4
解决办法
4万
查看次数

如何在bash中使用恰好2位有效数字格式化浮点数?

我想用 bash 中的两个有效数字打印浮点数(可能使用常用工具,如 awk、bc、dc、perl 等)。

例子:

  • 76543 应该打印为 76000
  • 0.0076543 应打印为 0.0076

在这两种情况下,有效数字都是 7 和 6。我已经阅读了一些类似问题的答案,例如:

如何在shell中舍入浮点数?

Bash 限制浮点变量的精度

但答案的重点是限制小数位数(例如bccommand withscale=2printfcommand with %.2f)而不是有效数字。

有没有一种简单的方法可以用正好 2 个有效数字来格式化数字,还是我必须编写自己的函数?

bash awk bc floating-point dc

20
推荐指数
1
解决办法
4万
查看次数