[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: хороший калькулято р



Олег Цимаенко <tsyma@lafox.net> writes:

> из консольных пользуюсь bc
>
> $ sudo aptitude install bc
> $ echo "scale=50; 4*a(1)" | bc -l
> 3.14159265358979323846264338327950288419716939937508

В bc проблемы с использованием разных систем (hex, dec, bin и. т. д.) в
одном выражении. И автор топика в курсе этой проблемки, поэтому и
спросил о чем-то другом. В bc поменять систему ввода (ibase) и вывода
(obase) ты можешь, но глобально только. Но, наверное, можно написать
свой скриптик-обвязку, читающий ввод. Потом гнать введенное выражение
типа 0b1111000+0xFFF234+0o34267 через фильтр, который будет искать
числа, которые имеют разные системы счисления (например, строчки типа
0x..., 0b...), потом выделить то, что после 0x, дергая bc, чтобы перевел
все десятичную систему (ну или к любой другой одной базе) и сделать
замену. Из фильтра все направляется в bc. Ну и завершает все -- вывод
результата.


Reply to: