$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
bc - это язык, который поддерживает числа произвольной точности с интерактивным исполнения отчетности.
Безусловно, bc - один из аутсайдеров, когда дело доходит до расчетов по командной строке.
Главным достоинством bc является обработка чисел с запятой (float). В среде bash можно проводить обычные операции (сложение, вычитание, деление и умножение) с целыми числами, но без bc не обойтись, когда дело доходит до десятичных дробей.
Дальше приводится несколько примеров использования bc:
bc <<< 3-2
bc <<< 5*2
bc <<< 9/3
как всегда, можно использовать echo + |:
echo "3*2" |bc
echo "3-2" |bc
echo "3*2" |bc
echo "3/2" |bc
bc, как положено, соблюдает приоритетность математических операций. Проверьте:
echo "2 + 2 * 2" |bc
В случае выполнения операции деления из примера bc вернет 1. Для того что бы показать цифры после запятой нужно указать сколько их нужно с помощью scale
(по умолчанию = 0):
echo "scale=1;3/2" |bc
, воспользуйтесь слудющей конструкцией:
bc < FileName
echo "2 + 2;last * 2" |bc
Вместо last можно использовать точку:
echo "2 + 2;. * 2" |bc
Получение квадратного корня и возведение в степень
sqrt вернет квадратный корень из числа. Если результат является десятичной дробью - используйте scale
для отображения знаков после запятой.
echo "sqrt(16)" | bc
Довольно странно, что у библиотеки, написанной на C не предусмотрено использование sqr, но все же его нету.
Пример возведения в степень:
echo "4^2" | bc
Сомневаюсь, что кто-то будет в скриптах использовать значение косинуса или натурального логарифма числа, но все же:
var1=$(echo "sqrt(16)" | bc)
var2=$(bc <<< "2 + 2 * 2")
echo $var1 + $var2 |bc
В этой статье bc используется для определения места, которое занимают базы даных mysql.
Показывает двоичное представление числа
obase=2; 180
10110100
Восьмеричное
obase=8; 180
264
Шестнадцетеричное
obase=16; 180
B4