Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

bc
Калькулятор (Basic Calculator)

Тип файла: команда
  Eng  

usage: bc [options] [file...]

bc — это калькулятор произвольной точности с командной строкой
и полным языком Тьюринга.

Этот bc имеет три отличия от GNU bc:

1) Массивы можно передавать встроенной функции «длина»,
чтобы получить количество
элементы, находящиеся в настоящее время в массиве.

В следующем примере выводится «1»:
а[0] = 0
длина (а [])

2) Приоритет логического оператора «не» (!) равен приоритету
унарного минуса (-) или оператора отрицания
Это по-прежнему позволяет POSIX-совместимым
сценариям работать, в некоторой степени сохраняя
ожидаемое поведение (по сравнению с C)
и упрощая синтаксический анализ.

3) Этот bc имеет гораздо больше расширений, чем GNU bc

Этот bc также реализует точечное (.) расширение BSD bc

Параметры:

  • -e выражение --выражение=выражение
    Запустить «expr» и выйти. Если несколько выражений
    или файлов (см. ниже) учитывая, что все они запускаются
    перед выполнением из стандартного ввода.

  • -f файл --file=файл
    Запустить код bc в «файле» и выйти. См. также выше.

  • -g --глобальные стеки
    Превратите шкалу, ibase и obase в стеки.
    Это заставляет значение каждого
    восстанавливаться при возврате из функций.

  • -h Распечатать это сообщение об использовании и выйти

  • -i --интерактивный
    Активировать интерактивный режим.

  • -l --mathlib
    Использлвать предопределенные математические процедуры:


    s(expr) = синус expr в радианах

    c(expr) = косинус expr в радианах

    a(expr) = арктангенс expr, возвращающий радианы

    l(expr) = натуральный логарифм expr

    e(expr) = возводит e в степень expr

    j(n, x) = функция Бесселя целого порядка n от x

    Этот bc может загружать больше функций с параметрами:

  • -P --без подсказки
    Отключить подсказки в интерактивном режиме

  • -R --no-read-prompt
    Отключитье приглашение на чтение в интерактивном режиме

  • -q --тихий
    Не печатать версию и авторские права

  • -s --стандарт
    Ошибка, если используются какие-либо расширения,
    отличные от POSIX

  • -w --предупреждать
    Предупреждать, если используются какие-либо
    расширения, отличные от POSIX

  • -v --версия
    Распечатать информацию о версии
    и авторских правах и выйти

    [ ToyBox ] - дубль    

    Комментарии
    https://github.com/gavinhoward/bc

    Это реализация POSIX-калькулятора bc, в котором реализованы расширения GNU bc,
    а также расширение точки (.) для BSD-разновидности bc.

    Этот bc также включает в себя реализацию dc в том же двоичном файле,
    доступном через символическую ссылку, которая реализует все расширения FreeBSD и GNU.
    Если требуется отдельный двоичный файл dc, bc можно скопировать и переименовать в dc.

    Команда (!)опущена, т.к. создает проблемы безопасности и такая функциональность не нужна.
    Этот bc также предоставляет математику bc в виде библиотеки с привязками C, называемой bcl.

    Расширения

    Расширенная математическая библиотека.

    Подсказка командной строки.

    Включение и выключение зажима цифр.
    (Зажим цифр касается того, как обрабатывать «недопустимые» цифры для определенного основания.
    GNU bc использует его, а BSD bc — нет. Мой делает и то, и другое.)

    Генератор псевдослучайных чисел. Это включает в себя возможность установить
    начальное число и получить воспроизводимые потоки случайных чисел.

    Возможность использовать стеки для масштабирования глобальных переменных,
    ibase и obase вместо необходимости их восстановления в каждой функции.

    Возможность не использовать нестандартные ключевые слова.
    Например, abs — это ключевое слово (встроенная функция),
    но если какой-то скрипт фактически определяет функцию с таким именем, можно
    указать не рассматривать его как ключевое слово, что сделает анализ скрипта правильным.

    Возможность включать и выключать печать ведущих нулей для чисел больше -1 и меньше 1.

    Вывод в научной и инженерной нотации.

    Прием входных данных в научной и инженерной нотации.

    Передача строк и массивов во встроенную функцию length().
    В dc команда Y будет делать это для массивов, а команда Z будет делать
    это как для чисел, так и для строк.

    Встроенная функция abs(). Это команда b в dc.

    Встроенные функции is_number() и is_string().
    Они говорят, содержит ли переменная строку или число, для проверки типа во время выполнения.
    Команды u и t в dc.

    Только для bc встроенная функция divmod() для одновременного вычисления частного и остатка.

    Только для bc встроенная функция asciify() для преобразования массива в строку.

    Оператор усечения $. (То же самое в bc и dc.)

    Оператор @ "установить масштаб".
    То же самое в bc и dc.

    Операторы десятичного сдвига. (<< и >> в bc, H и h в dc.)

    Встроенные функции или команды для получения максимального масштаба, ibase и obase.

    Возможность помещать строки в переменные в bc.

    Команда ' в dc для глубины стека выполнения.

    Команда y в dc для глубины стеков регистров.

    Встроенные функции или команды для получения значения определенных переменных среды,
    которые могут повлиять на выполнение.

    Ключевое слово stream для выполнения того же действия, что и команда P в dc.

    Определенный порядок оценки.

    Определенные статусы выхода.

    Все переменные среды, кроме POSIXLY_CORRECT, BC_ENV_ARGS и BC_LINE_LENGTH.

    Возможность для пользователей определять свои собственные значения по умолчанию
    для различных параметров во время сборки.