bc (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью. Часто используется как калькулятор в командной строке UNIX-подобных операционных систем. Традиционная реализация bc была оболочкой к непосредственно калькулятору dc, принимавшему выражения в обратной польской записи, и выполняла преобразование из инфиксной записи в обратную польскую[1]. Современная версия GNU bc реализована в качестве отдельной программы.
Синтаксис команды
bc [ -hlwsqv ] [long-options] [ file … ] -l : вызывает стандартную библиотеку математических функций. -w : выводит предупреждения по поводу Posix — расширений bc. -s : использует язык Posix bc. -q : не печатает обычного приветствия bc. -v : печатает номер версии и завершает программу. -h : вызывает справку по bc.
Операторы и ключевые слова
Большинство операторов bc
(кроме ^
) повторяют аналогичные операторы языка Си.
+,-,*,/ : сложение, вычитание, умножение, деление% : нахождение остатка^ : возведение в степеньsqrt(i) : извлечение квадратного корня из числа i<
,>
,<=
,>=
,!=
,==
: сравнение= : присваивание++, -- : инкремент, декремент+=, -=, *=, /=, ^=, %= : присваивание с вычислениемscale = i : устанавливается точность вычисления, i – количество цифр после запятой ibase = i : установка основания системы счисления для входных данных, где i является базисом (2 <= i <= 16)obase = i : установка основания системы счисления для выходных данныхlast : Вывод последнего вычисленного значения
if(E)[S1…] else [S2…] : оператор выбора, если E истина выполняется S1 если нет S2while(E)[S…] : оператор цикла, выполняет операторы S, пока выражение E истинаfor(E1;E2;E3)[S…] : оператор циклаbreak : прерывает выполнение for и whilecontinue : завершить текущую итерацию цикла (продолжить цикл, перейдя к следующей итерации)halt : останавливает работу bcreturn : возврат из функции значения 0return E : возврат из функции значения выражения Edefine a(b) : определяет символьное имя, именованную константу или функцию.print <список> : вывод на экран
Функции математической библиотеки
При необходимости можно подключить к калькулятору библиотеку математических функций. Для этого надо указать в командной строке ключ -l
- s(i) : синус i, где i берётся в радианах
- c(i) : косинус, где i берётся в радианах
- a(i) : арктангенс, возвращает радианы
- e(i) : экспонента
- l(i) : натуральный логарифм i
- j(n, x) : функция Бесселя
Примеры использования
$ bc -lq for(i=0;i<5;i++) e(i) 1.00000000000000000000 2.71828182845904523536 7.38905609893065022723 20.08553692318766774092 54.59815003314423907811
$ bc -lq scale = 10 for(i=5;i<10;i++) j(i,1) .0002497577 .0000209383 .0000015023 .0000000942 .0000000052
$ bc -lq if ((2+2)==4)print "2+2 = 4" else " 2+2 !=4 " 2+2 = 4 if ((2+2)==5)print "2+2 = 5" else "2+2 != 5 " 2+2 != 5
$ echo 75*125 | bc 9375
Вычисление числа Пи:
$ bc -lq scale=100 4*a(1) 3.141592653589793238462643383279502884197169399375105820974944592307\ 8164062862089986280348253421170676
Примечания
Ссылки
🔥 Top keywords: Заглавная страницаЯндексНовая КаледонияСлужебная:ПоискСтанкович, ДеянYouTubeБелоусов, Андрей РэмовичДюмин, Алексей ГеннадьевичЯсукэАндрияка, Сергей НиколаевичШойгу, Сергей КужугетовичФицо, РобертГодовщины свадьбыПопков, Михаил ВикторовичВолчанск (Украина)ВКонтактеПутин, Владимир ВладимировичРоссияМинистерство неджентльменских делСписок умерших в 2024 годуЕвровидение-2024TelegramФоллаут (телесериал)Чемпионат мира по хоккею с шайбой 2024Покушение на Роберта ФицоХарьковМинистр обороны Российской ФедерацииСловакияFallout (серия игр)Вторжение России на Украину (с 2022)КлеопатраNemo (певец)Усик, Александр АлександровичМедведев, Дмитрий АнатольевичФьюри, ТайсонЧикатило, Андрей Романович16 маяСлужебная:Моё обсуждениеГазель (автомобиль)