$ printf %.10f\\n "$((10**9 * 20/7))e-9" # many shells. Not mksh.
$ echo "$((20.0/7))" # (ksh93/zsh/yash, not bash)
$ awk "BEGIN {print (20+5)/2}"
$ zcalc
$ bc <<< 20+5/2
$ bc <<< "scale=4; (20+5)/2"
$ dc <<< "4 k 20 5 + 2 / p"
$ expr 20 + 5
$ calc 2 + 4
$ node -pe 20+5/2 # Uses the power of JavaScript, e.g. : node -pe 20+5/Math.PI
$ echo 20 5 2 / + p | dc
$ echo 4 k 20 5 2 / + p | dc
$ perl -E "say 20+5/2"
$ python -c "print(20+5/2)"
$ python -c "print(20+5/2.0)"
$ clisp -x "(+ 2 2)"
$ lua -e "print(20+5/2)"
$ php -r 'echo 20+5/2;'
$ ruby -e 'p 20+5/2'
$ ruby -e 'p 20+5/2.0'
$ guile -c '(display (+ 20 (/ 5 2)))'
$ guile -c '(display (+ 20 (/ 5 2.0)))'
$ slsh -e 'printf("%f",20+5/2)'
$ slsh -e 'printf("%f",20+5/2.0)'
$ tclsh <<< 'puts [expr 20+5/2]'
$ tclsh <<< 'puts [expr 20+5/2.0]'
$ sqlite3 <<< 'select 20+5/2;'
$ sqlite3 <<< 'select 20+5/2.0;'
$ echo 'select 1 + 1;' | sqlite3
$ psql -tAc 'select 1+1'
$ R -q -e 'print(sd(rnorm(1000)))'
$ r -e 'cat(pi^2, "\n")'
$ r -e 'print(sum(1:100))'
$ smjs
$ jspl
Можно использовать расширение арифметики POSIX для целочисленной арифметики echo "$((...))"
:
$ echo "$((20+5))"
25
$ echo "$((20+5/2))"
22
Довольно портативный (ash dash yash bash ksh93 lksh zsh
):
Используя printf способность распечатать плавания мы можем расширить большинство оболочек, чтобы сделать математические операции с плавающей точкой хотя с ограниченным диапазоном (не больше, чем 10 цифр):
$ printf %.10f\\n "$((1000000000 * 20/7 ))e-9"
2.8571428570
ksh93
, yash
и zsh
действительно поддерживайте плавания здесь:
$ echo "$((1.2 / 3))"
0.4
только ksh93
(непосредственно) и zsh
загрузка библиотеки mathfunc здесь:
$ echo "$((4*atan(1)))"
3.14159265358979324
(zsh
должен загрузиться zmodload zsh/mathfunc
получить функции как atan
).
В интерактивном режиме с zsh:
$ autoload zcalc
$ zcalc
1> PI/2
1.5708
2> cos($1)
6.12323e-17
3> :sci 12
6.12323399574e-17
С (t) csh (только целое число):
% @ a=25 / 3; echo $a
8
В rc
семейство оболочек, akanga
тот с арифметическим расширением:
; echo $:25/3
8
bc
(см. ниже для интерактивного режима), руководство здесь
Мнемосхема: лучший калькулятор (хотя b
на самом деле для основного).
$ echo 20+5/2 | bc
22
$ echo 'scale=4;20+5/2' | bc
22.5000
(числа произвольной точности поддержек)
до н.э интерактивный режим:
$ 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'.
5+5
10
2.2+3.3
5.5
Решение порыва, expr
(никакой интерактивный режим):
$ expr 20 + 5
25
$ expr 20 + 5 / 2
22
Решение Joshua: awk
(никакой интерактивный режим):
$ calc() { awk "BEGIN{print $*}"; }
$ calc 1/3
0.333333
Решение Arcege, dc
(интерактивный режим: dc
):
Который является еще большим количеством забавы, так как она работает обратной польской записью.
$ echo 20 5 2 / + p | dc
22
$ echo 4 k 20 5 2 / + p | dc
22.5000
Но не как практичный, если Вы не работаете с обратной польской записью много.
Отметьте это dc
предшествует bc
и bc
был исторически реализован как обертка вокруг dc
но dc
не был стандартизирован POSIX
DQdims's calc
(необходимый sudo apt-get install apcalc)
:
$ calc 2 + 4
6
решение manatwork, node
(интерактивный режим: node
; не нужная функция вывода):
$ node -pe 20+5/2 # Uses the power of JavaScript, e.g. : node -pe 20+5/Math.PI
22.5
Perl (интерактивный режим: perl -de 1
):
$ perl -E "say 20+5/2"
22.5
Python (интерактивный режим: python
; не нужная функция вывода):
$ python -c "print(20+5/2)"
22 # 22.5 with python3
$ python -c "print(20+5/2.0)"
22.5
Также числа произвольной точности поддержек:
$ python -c 'print(2**1234)'
295811224608098629060044695716103590786339687135372992239556207050657350796238924261053837248378050186443647759070955993120820899330381760937027212482840944941362110665443775183495726811929203861182015218323892077355983393191208928867652655993602487903113708549402668624521100611794270340232766099317098048887493809023127398253860618772619035009883272941129544640111837184
Если Вы имеете clisp
установленный, можно также использовать польскую запись:
$ clisp -x "(+ 2 2)"
Решение Marco, lua
(интерактивный режим: lua
):
$ lua -e "print(20+5/2)"
22.5
PHP (интерактивный режим: php -a
):
$ php -r 'echo 20+5/2;'
22.5
Ruby (интерактивный режим: irb
; не нужная функция вывода):
$ ruby -e 'p 20+5/2'
22
$ ruby -e 'p 20+5/2.0'
22.5
Хитрость (интерактивный режим: guile
):
$ guile -c '(display (+ 20 (/ 5 2)))'
45/2
$ guile -c '(display (+ 20 (/ 5 2.0)))'
22.5
Сленг (интерактивный режим: slsh
; не нужная функция вывода, просто a ;
разделитель):
$ slsh -e 'printf("%f",20+5/2)'
22.000000
$ slsh -e 'printf("%f",20+5/2.0)'
22.500000
Tcl (интерактивный режим: tclsh
; не нужная функция вывода, но expr
):
$ tclsh <<< 'puts [expr 20+5/2]'
22
$ tclsh <<< 'puts [expr 20+5/2.0]'
22.5
Оболочки JavaScript:
$ smjs
js> 25/3
8.333333333333334
js>
$ jspl
JSC: 25/3
RP: 8.33333333333333
RJS: [object Number]
JSC:
Good bye...
$ node
> 25/3
8.333333333333334
>
SQLite (интерактивный режим: sqlite3
):
$ sqlite3 <<< 'select 20+5/2;'
22
$ sqlite3 <<< 'select 20+5/2.0;'
22.5
MySQL:
mysql -BNe 'select 1+1'
PostgreSQL:
psql -tAc 'select 1+1
Опции _The на mysql и пост-ГРЭС останавливают 'изображение' искусства ASCII!
R в простом режиме - позволяет, генерируют 1 000 Нормальных случайных чисел и получают стандартное отклонение и печатают его
$ R -q -e 'print(sd(rnorm(1000)))'
> print(sd(rnorm(1000)))
[1] 1.031997
R использование littler сценария - позволяет пи печати, в квадрате
$ r -e 'cat(pi^2, "\n")'
9.869604
$ r -e 'print(sum(1:100))'
[1] 5050
PARI/GP, обширная компьютерная система алгебры для теории чисел, линейной алгебры и многих других вещей
$ echo "prime(1000)"|gp -q
7919 // the 1000th prime
$ echo "factor(1000)" | gp -q
[2 3]
[5 3] // 2^3*5^3
$ echo "sum(x=1,5,x)" | gp -q
15 // 1+2+3+4+5
Октава GNU (высокоуровневый интерпретируемый язык, прежде всего, предназначенный для числовых вычислений)
Также комплексные числа поддержек:
$ octave
>> 1.2 / 7
ans = 0.17143
>> sqrt(-1)
ans = 0 + 1i
Julia, высокоэффективный язык и интерпретатор для научных и числовых вычислений.
Неинтерактивная опция:
$ julia -E '2.5+3.7'
6.2
Почему бы не обновить Ваш subclipse
плагин. Subclipse
поддержка v1.8.x Subversion
v1.7.
Возможно, subversion
1.7 фиксируют некоторые проблемы безопасности (не знайте, верно ли это, но nevermind). Необходимо всегда совершенствовать программное обеспечение, если Вы можете (и здесь Вы можете). Это - одна из основной цели Apt
или любая система управления пакета.
Ссылка Eclipse: http://subclipse.tigris.org/update_1.8.x