Форум программистов, компьютерный форум CyberForum.ru

Округлить любое вещественное число до определённого количества знаков с математической точностью - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите плиз модифицировать прогу http://www.cyberforum.ru/cpp-beginners/thread378868.html
Добрый вечер! Есть функция, переставляющая соседние слова в строке: #include "stdafx.h" #include <clocale> #include <iostream> #include <windows.h> using namespace std;
C++ Помогите со стеком.. Смоделировать стек на базе статического массива по заданию. Написать основные операции для работы со стеком (push, pop, top, empty, full) . Для этого (если в задании не указан иной способ) в программе на входе задать последовательность из К (К> 10) целых чисел (числа вводить с клавиатуры). Все положительные числа последовательно заносить в стек, а каждое отрицательное число должно изымать из... http://www.cyberforum.ru/cpp-beginners/thread378859.html
C++ Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать?
// KamenNozhnicyBumaga.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "time.h" #include "stdio.h" #include "stdlib.h" int _tmain(int argc, _TCHAR* argv)
C++ Простейший класс
Разработать класс 1.Комплексное число 2. время 3. массив 4. дата 5. стек 6 строка 7. многочлен Любой из этих классов, очень буду благодарен!!!
C++ wchar_t http://www.cyberforum.ru/cpp-beginners/thread378831.html
что ето за тип данних: wchar_t скок у нему байт??
C++ Подскажите! Интерпретатор форматов... Доброго времени суток, Ув.! Была поставлена задача написать программку, которая будет производить открытие файлов с разными расширениями doc, rtf, docx, bmp, pcx, jpg...эт ведь интерпретатор получается. А как это реализовать в С++? К примеру в С#, ищем файл и оупен... System.Diagnostics.Process.Start("имя_файла");, вроде так. Но тут в какую сторону копать...и что делать...а? Подскажите... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.03.2015, 13:17     Округлить любое вещественное число до определённого количества знаков с математической точностью
Имеют. Не имеют как раз некоторые десятичные числа точного двоичного представления.

Добавлено через 12 минут
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{2}=0,5\\\frac{1}{4}=0,25\\\frac{1}{8}=0,125\\\frac{1}{16}=0,0625 и так далее, сколько ни удваивай знаменатель, получим конечную дробь. Потому что 10 делится нацело на 2 без остатка. И эти равенства точные. Если единица стоит более, чем в одном разряде, то сумма нескольких конечных дробей также имеет конечную разрядность. Но вот наоборот берём 0,2 десятичное и пробуем перевести. Ноль целых имеем сразу.
0,b
0,2*2=0,4, целой части нет, значит 0
0,0b
0,4*2=0,8
0,00b
0,8*2=1,6 одна целая, значит 1 и дальше переводим 0,6
0,001b
0,6*2=1,2 одна целая, значит 1 и дальше переводим 0,2, то есть пришли к исходной дроби.
0,0011b
0,2d=0,(0011)b. 0 целых и 0011 в периоде.

Добавлено через 2 минуты
Поэтому до восьмых можно округлить, умножив и разделив, до шестнадцатых можно, а до десятых нужен другой алгоритм и всё равно двоичное представление будет не точным. Но хоть погрешность менее 1 десятой можно гарантировать.
 
Текущее время: 16:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru