bc (Basic Calculator) – это утилита командной строки, которая предлагает все, что вы ожидаете от простого научного или финансового калькулятора.
Это инструмент, который поддерживает произвольные числа точности с интерактивным выполнением операторов и имеет синтаксис, аналогичный синтаксису языка программирования C.
Его можно использовать обычно как математический язык сценариев или как интерактивную математическую оболочку, как описано в этой статье.
Если у вас нет bc в вашей системе, вы можете установить его с помощью диспетчера пакетов для вашего дистрибутива, как показано ниже:
$ sudo apt install bc #Debian/Ubuntu $ sudo yum install bc #RHEL/CentOS $ sudo dnf install bc #Fedora 22+
Чтобы открыть bc в интерактивном режиме, введите команду bc и просто начните вычислять свои выражения.
$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 10 + 5 15 1000 / 5 200 (2 + 4) * 2 12
Следует отметить, что, хотя bc может работать с произвольной точностью, на самом деле он по умолчанию принимает нулевые цифры после десятичной точки, например, выражение 3/5 приводит к 0, как показано на следующем выводе.
$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 3 / 5 0
Вы можете использовать флаг -l для установки масштаба по умолчанию (цифры после десятичной точки) до 20 и также определяет стандартную математическую библиотеку.
Теперь запустите предыдущее выражение еще раз.
$ bc -l bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 3 / 5 .60000000000000000000 5 / 7 .71428571428571428571
В качестве альтернативы вы можете указать масштаб после открытия bc, как показано.
$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. scale=0; 8%5 3 scale=1; 8%5 0 scale=20; 8%5 0 scale=20; 8%11 .00000000000000000008
Вы также можете использовать следующую команду для общих оболочек, например, в bash, ksh, csh, для передачи аргументов на bc, как показано ниже:
$ bc -l <<< "2*6/5" 2.40000000000000000000
Как использовать bc неинтекративно:
$ echo '4/2' | bc $ echo 'scale=3; 5/4' | bc $ ans=$(echo "scale=3; 4 * 5/2;" | bc) $ echo $ans
Чтобы точно обрабатывать язык POSIX bc, используйте флаг -s и включите предупреждения для расширений для POSIX bc, используйте параметр -w, как показано ниже:
$ bc -s $ bc -w