IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [144]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [512]
    Видеорегистраторы [188]
    Гаджеты для спорта и здоровья... [191]
    Гаджеты, аксессуары... [627]
    Измерительная техника, инструменты [446]
    Накопители данных [233]
    Нетбуки, Ноутбуки, Ультрабуки [691]
    Мультиварки, блендеры и не только... [164]
    Планшеты [764]
    Радар-детекторы [26]
    Роботы-пылесосы [40]
    Своими руками [366]
    Сети, сетевые технологии, оборудование... [273]
    Смартфоны [4963]
    Фотокамеры, объективы, искусство фотографии.. [541]
    Умный дом [53]
    Электронные книги [102]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [109]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3983]
    mini computers и не только... [412]
    News IT, Это интересно, ликбез... [1121]
    Smart TV, UltraHD, приставки, проекторы... [416]
    Smart Watch [269]
    Sound: наушники, плееры, усилители... [619]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 78
    Гостей: 78
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2015 » Ноябрь » 6 » GNU bc - калькулятор командной строки для Linux
    06:51
    GNU bc - калькулятор командной строки для Linux

    GNU bc - калькулятор командной строки для Linux

    Оригинал: What is a good command-line calculator on Linux
    Автор: Dan Nanni
    Дата публикации: 21 октября 2014 года
    Перевод: А. Кривошей
    Дата перевода: октябрь 2015 г.

    Любой современный дистрибутив Linux включает графический калькулятор. С другой стороны, если вашим обычным рабочим окружением является терминал, то вы скорее будете искать себе калькулятор, который бы работал в командной строке. В этой категории программ, по моему мнению, единоличным лидером является GNU bc (сокращение от "basic calculator"). Это очень мощная и полезная утилита.

    Еще до наступления эры GNU, bc исторически был известным языком для вычислений, первая реализация которого относится к старым добрым временам Unix 70-х годов. Изначально bc был больше известен в качестве языка программирования с синтаксисом, похожим на C. Со временем оригинальный bc эволюционировал в POSIX bc, а затем и в GNU bc.

    Возможности GNU bc

    Сегодняшний GNU bc является результатом многочисленных усовершенствований предыдущих реализаций, и сегодня он представляет собой стандарт для всех главных дистрибутивов GNU/Linux. bc поддерживает стандартные арифметические операции с числами произвольной точности и различных систем счисления (двоичные, десятеричные, шестнадцатеричные).

    Если вы знакомы с языком C, вы увидите, что в bc используются те же или похожие математические операторы. Среди поддерживаемых операций арифметические (+,-,*,/,%,++,--), сравнения (<,>,==,!=,<=,>=), логические (!,&&,||), побитовые (&,|,^,~,<<,>>), составного присваивания (+=,-=,*=,/=,%=,&=,|=,^=,&&=,||=,<<=,>>=). bc имеет много полезных встроенных функций, таких как извлечение квадратного корня, тригонометрические и обратные тригонометрические функции, логарифмы, экспонента и так далее.

    Использование GNU bc

    Возможности GNU bc как калькулятора командной строки практически неограничены. В этом руководстве я собираюсь описать самые популярные функции bc. Получить полную информацию о возможностях программы можно из официальной документации.

    За исключением случая запуска ранее написанного скрипта, обычно bc используется в интерактивном режиме, где каждая строка, содержащая выражение или оператор, интерпретируется и выполняется на лету. Чтобы перейти в интерактивную сессию bc, введите приведенную ниже команду. Для выхода из сессии введите "quit" и нажмите Enter.

     

    $ bc
    

     

    запуск и выход из bc

    Во всех приведенных в данном руководстве примерах подразумевается, что они вводятся внутри сессии bc.

    Типы выражений

    Для расчета арифметического выражения просто введите выражение и нажмите Enter. Если хотите, можете сохранить промежуточный вариант в переменной, чтобы затем использовать его в других выражениях.

    переменные

    В пределах одной сессии bc сохраняет всю историю введенных строк. Для возврата к предыдущим выражениям используется курсорная клавиша со стрелкой вверх. Если вы хотите ограничить число строк, сохраняемых в истории, присвойте нужное вам число переменной по имени history. По умолчанию ее значение -1, что соответствует "unlimited".

    Переключение между системами счисления ввода/вывода

    Часто может потребоваться вводить числа и выводить на экран результаты в двоичном или шестнадцатеричном формате. Для этого bc позволяет определить систему счисления для ввода и вывода. Они хранятся в переменных ibase и obase соответственно. По умолчанию значение этих специальных переменных равно 10, а диапазон допустимых значений от 2 до 16 (или значения переменной окружения BC_BASE_MAX в случае obase). Все, что вам нужно для смены системы счисления - изменить значения ibase и obase. Например, ниже пример суммирования двух шестнадцатеричных/двоичных чисел:

    пример суммирования двух шестнадцатеричных/двоичных чисел

    Обратите внимание, что я задал сначала obase=16, затем ibase=16, а не наоборот. Если бы задал сначала ibase=16, то выражение obase=16 интерпретировалось бы уже в шестнадцатеричном формате (то есть мы присваивали бы obase значение 22 в десятеричной форме).

    Точность

    В bc точность чисел хранится в специальной переменной под названием scale (количество десятичных цифр после точки). По умолчанию ее значение равно 0, что соответствует хранению всех цифр результата. Вы можете изменить точность, присвоив перменной scale соответствующее значение.

     

    scale=4
    

     

    изменение точности

    Использование встроенных функций

    Помимо простых арифметических операций GNU bc предлагает большой набор продвинутых математических функций, как встроенных, так и находящихся во внешней математической библиотеке. Для использования этих функций запустите bc с опцией "-l".
    Ниже проиллюстрированы некоторые из этих встроенных функций.

    Квадратный корень из N:

     

    sqrt(N)
    

     

    Синус от X (X в радианах):

     

    s(X)
    

     

    Косинус от X (X в радианах):

     

    c(X)
    

     

    Арктангенс от X (возвращаемое значение в радианах):

     

    a(X)
    

     

    Натуральный логарифм от X:

     

    l(X)
    

     

    Экспонента от X:

     

    e(X)
    

     

    Другие возможности языка

    GNU bc поддерживает простые операторы (например присваивание значения переменной, break, return), составные операторы (if, while, for loop), и функции, определенные пользователем. Я не буду детально описывать эти возможности, но вы легко можете научиться пользоваться ними из официального руководства. Ниже пример определения очень простой функции:

     

    define dummy(x){
    return(x * x);
    }
    dummy(9)
    81
    dummy(4)
    16
    

     

    Неинтерактивное использование GNU bc

    До сих пор мы использовали bc в интерактивном режиме. Однако достаточно часто он используется неинтерактивно, в скриптах оболочки. В этом случае вы можете направить ввод на bc с помощью команды echo, например:

     

    $ echo "40*5" | bc
    $ echo "scale=4; 10/3" | bc
    $ echo "obase=16; ibase=2; 11101101101100010" | bc
    

     

    Неинтерактивное использование GNU bc

    В завершение можно сказать, что GNU bc - это очень мощный гибкий калькулятор командной строки, который соответствует самым высоким требованиям. Предустановленный во всех современных дистрибутивах Linux, bc может значительно упростить ваши задачи, не выходя из терминала.

     

    http://rus-linux.net/MyLDP/consol/calculator-bc.html

    Категория: Linux и не только | Просмотров: 962 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024