Я только начинаю с Bc Гну, и я застрял в самом начале (очень обескураживающий ...). Я хочу разделить два числа и получить результат с плавающей точкой:
$bc bc 1.06.94 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 15/12 1 15.0/12.0 1 15.000000/12.000000 1 scale(15.00000) 5
Страница man говорит, что разделение возвращает число с той же шкалой, что и начальные значения. Очевидно, это либо неправда, либо я что-то упустил.
Поиск в Google не привел к новому пониманию (кроме того, что «БК» может также обозначать «Британская Колумбия»).
Вы видите мою ошибку? А еще лучше, вы знаете какие-нибудь хорошие ссылки / учебные пособия по BC?
Все числа и содержимое переменных являются числами произвольной точности, точность которых (в десятичных разрядах) определяется глобальной scaleпеременной.
Ах, это ядро пуделя. Могу ли я установить масштаб глобально в некотором файле .bcrc?
Boldewyn 14 лет назад
0
Нашел это: `export BC_ENV_ARGS = ~ / .bcrc`
Boldewyn 14 лет назад
0
Я сомневаюсь, что Das также war des Pudels Kern [ein fahrender Scholast] «надежно работает на других языках :-) По крайней мере, я не знаю, насколько известен Faust на других языках :-)
Joey 14 лет назад
0
Это было реальное ядро пуделя, путешествующий ученый, тогда? Казус отвлекает. Проект Gutenberg ist dein Freund: http://www.gutenberg.org/files/14591/14591-h/14591-h.htm
Boldewyn 14 лет назад
0
Но я должен согласиться, и LEO.org предлагает «суть вопроса» ;-)
Boldewyn 14 лет назад
0
7
jlbartos
Use bc -l, which preloads the math library and the default scale is set to 20.
$ bc -l bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 4/3 1.33333333333333333333
1
Colin Daly
На случай, если это кому-нибудь поможет, я попытался установить scale=2тихий режим по умолчанию и, похоже, не смог сделать это правильно.
Если я установил BC_ENV_VARS="-q", я получил тихий режим, и если я установил BC_ENV_VARS="~/.bcrc", я мог установить scale=2в этом файле, но я не мог включить тихий режим (возможно, есть способ, но я не мог его найти).
В конце концов я использовал экспорт BC_ENV_ARGS=~/.bcrc(с scale=2) и совмещенным bcс bc -q.
1
andkore
Чтобы расширить Colin_Daly, используйте BC_ENV_ARGS="-q $HOME/.bcrc", scale=INTочевидно, с .bcrc. Переменная окружения в основном просто застряла сразу после команды bc .
То, что происходит, - то, что -q - просто нормальный параметр командной строки, и $HOME/.bcrcрасширен и передан в bc как первый fileаргумент (может быть многократные аргументы файла). scale=INTэто строка bc, которая является языком программирования. Функционально это эквивалентно запуску bc и вводу scale=INTв приглашении bc. Вы должны использовать $ HOME, а не ~, потому что ~ распознается только тогда, когда он не заключен в кавычки (см. Здесь ), но нам нужно что-то вроде кавычек, чтобы переменная была установлена для обоих слов, а не только до пробела.