Страница 1 из 1

Консольный bc сошёл с ума: ошибки при делении

Добавлено: 10 ноя 2016, 14:03
mintkid
Дорогие форумчане! Помогите решить проблему. При делении чисел bcне показывает дробную часть. Её приходится устанавливать в ручную (параметр "количество знаков после запятой"). То есть дефолтно всё делится нацело. Если же дефолтно разделить число a на большее число b, то он покажет 0. Если в ручную установить параметр "количество знаков после запятой", то 0 не покажется и числа начинаются с точки. Раньше с подобным не сталкивался и всё нормально работало по умолчанию. Что за глюк и как его устранить?


Re: Консольный bc сошёл с ума: ошибки при делении

Добавлено: 10 ноя 2016, 14:20
Chocobo
mintkid, запускай как bc -l, там норм отрисовываются дроби.
А вот с нулями - не уверен, вообще это нормальный формат записи дробных чисел меньших чем единица

Я обычно в питоне считаю, мне удобней так)

Re: Консольный bc сошёл с ума: ошибки при делении

Добавлено: 10 ноя 2016, 15:20
Dja
а калькулятор уже не тянет? :-D

Re: Консольный bc сошёл с ума: ошибки при делении

Добавлено: 10 ноя 2016, 16:48
Bill Williamson
Python же есть, чем он Вас не устроил?

Re: Консольный bc сошёл с ума: ошибки при делении

Добавлено: 10 ноя 2016, 17:01
mintkid
Dja, bc мне почему-то удобнее :smile:
Bill Williamson, в Python нужно вникать, изучать. На это нет времени. Я не айтишник.

Re: Консольный bc сошёл с ума: ошибки при делении

Добавлено: 10 ноя 2016, 23:45
Bill Williamson
mintkid, я тоже не айтишник. Вот чисто нагуглил, с калькулятором там несложно:
Снимок экрана от 2016-11-10 23-20-02.png
В теме операторы по этой книжке можно узнать какие простые вычисления делаются в python + еще можно почитать про модуль math. Очень все похоже на bc. Ну я так, к сведению. Ваше дело на чём считать. :smile:
UPD: В этой статье на хабре есть такая информация:
Самые внимательные успели обнаружить, что калькулятор округляет все числа до целых. Причина в следующем: специальная переменная scale, определяющая точность вычислений, по умолчанию равна нулю. Если вы хотите получить результат с точностью до десяти знаков, то присвойте переменной число 10.
>5/2
2
>scale=10
>5/2
2.5000000000
>7/191
.0366492146
Видимо bc так и должен работать.

Re: Консольный bc сошёл с ума: ошибки при делении

Добавлено: 18 ноя 2016, 01:47
mintkid
Bill Williamson, это не то. Странная проблема на пустом месте...

Консольный bc сошёл с ума: ошибки при делении

Добавлено: 20 янв 2017, 08:35
Dja
Посему :close: