Wednesday, June 17, 2009

калькулятор в unix

В любой unix-системе есть много чего, что можно заюзать в качестве калькулятора.
Вот несколько примеров:

  1. bc. Без аргументов запускается интерактивный калькулятор.  Можно использовать и так: echo "2^32-1" | bc

  2. Интерпретаторы (awk, perl, python, ruby, etc). Можно использовать как в интерактивном режиме, так и для одиночных выражений. Мне лично удобней python :)

  3. javascript. В адресной строке браузера можно вычислить выражение указав его после псевдопротокола javascript:, например javascript:5%2. В консоли браузера можно писать только выражение.

  4. mysql. SELECT 1024 + POW(2, 10);

  5. vim, bash, expr. Подходят для целочисленных вычислений.

  6. ...

6 comments:

  1. > echo $(echo 2^32 | bc -l)
    А почему просто
    bc -lq
    не написать?
    Мне его одного хватает.

    ReplyDelete
  2. Согласен.
    Питон тоже можно интерактивно запустить, или даже с оболочкой (idle) и заюзать для вычислений.

    ReplyDelete
  3. Для целочисленной арифметики (64bit) не нужно вообще ничего, кроме шелла:

    a=$((2009-1984))
    b=$(($a*$a-2*$a+1))

    Целочисленное деление и взятие остатка.
    Булеву арифметику он тоже умеет:
    echo $((0xff00 | 0x00ff))

    ReplyDelete
  4. Шелл однако не любой. csh к примеру не поддерживает подобный синтаксис.

    ReplyDelete
  5. Потомки ash (/bin/sh), наверное, все умеют (ksh, bash, zsh).

    ReplyDelete