На сях флоаты и даблы нехватат. Там до 5 знаков после зпт и всё, а мне надо штук 15 хотябы, как сделать?
на руби разрядность чисел ограничиваеться лишь оперативкой и свопом т.е. фактически не чем. а если на C то придеться самому писать класс со всеми втекающими туда операциями. P.S. если тебе посчитать какие-то конкретные числа, то скинь мне в ПМ я на руби посчитаю
http://ru.wikipedia.org/wiki/Длинная_арифметика пример, вычисления числа Пи http://algolist.manual.ru/maths/count_fast/pi.php
что-то я в этом сомневаюсь, число в формате с плавающей запятой занимает в памяти компьютера 4 (число обычной точности) и 8 байтов (число двойной точности), ну или 10 байтов повышенной (родной для сопроцессора) Или в ruby все действия делаются столбиком?
DECIMAL http://msdn.microsoft.com/ru-ru/library/system.decimal.aspx числа в диапазоне от 79228162514264337593543950335 до -79228162514264337593543950335 можно считать с точностью до 0,9999999999999999999999999999
Почему ты решил, что double только 5 знаков после запятой? Педставление чисел double обеспечиват относительную точность порядка 16 знаков после запятой. _http://ru.wikipedia.org/wiki/Число_двойной_точности Возможно, что у тебя проблемы с выводом нужного числа знаков после запятой? Code: #include <iostream> int main(){ double a=1.234567890123456; std::cout<<a<<std::endl; std::cout.precision(15); std::cout<<a<<std::endl; printf("%.14f \n",a); return 0; }
printf("%.14f \n",a); он прав в паскале можно при выводе writeln('chislo',S:4:14) ,будет выводить 14 знаков после комы
угу, да, но при подсчёте и флоат и дабл округляется. Например если вот что-то типа такого считать: Code: #include <iostream> using namespace std; int main( int argc, char *argv[]) { double x,x1 = 0; cout << "int to start: " << endl; cin >> x; //f(x) = x^2 - 3 for(int i=1; i < 101; i++) { x1 = x - ((x*x-3)/(2*x)); x=x1; cout << "approximation " << i << " x = " << x1 << endl; } return 0; }
ну ..... еще было решение у Forth-овцев .... они работали с целыми числами всегда: система была проста допустим есть 2-ва числа 0.86 и 10.5 (они просто учитывали где находится точка) и действия выполняли с 86 и 1050 были решения как для строк(когда все числа постоянно находились в строковом выражении, так и для числового хранения! ... это если вдрух надумаешь написать библиотеку
Наверное имеет место быть какая-то погрешность, как бы её посчитать? Потому что виндовс калькулятор считает точнее - http://img534.imageshack.us/img534/5437/capturewv.jpg
собственно воспроизвести то что было в либе теми же стандартными средствами Хотя бы реализовать арифметику "столбиком"