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

Количество цифр в вещественном (!) числе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти общую стоимость товаров, которые дороже 1000 рублей http://www.cyberforum.ru/cpp-beginners/thread1178267.html
Заданы, функцией rand(), стоимости товаров в группе. Найти общую стоимость товаров, которые дороже 1000 рублей (количество товаров не известно). Добавлено через 32 минуты help
C++ Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел до 40 цифр Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел, содержащих до 40 цифр. Создайте функции элементы inputHugeInteger, outputHugeInteger, addHugeIntegers и substractHugeIntegers для ввода, вывода, сложения и вычитания этих больших целых. Для сравнения объектов HugeInteger создайте функции isEqualTo (равно), isNotEqualTo (неравно), isGreaterThan... http://www.cyberforum.ru/cpp-beginners/thread1178266.html
Что будет находится в переменных a и b после выполнения следующего фрагмента C++
Что будет находится в переменных a и b после выполнения следующего фрагмента программы: int a=5, b=2; a*=a-b++;
C++ Вывести строку, обратную заданной
Собственно программа для того что бы вывести строку обратную данной. Я не могу догнать как она работает. Понятно до того момента как , " for (int j = 0; j <len / 2; j++) " , зачем мы количество символов в строке делим на 2 , и почему это является завершением для цикла ? #include <iostream> using namespace std; void main() { char str = "misha";
C++ Двунаправленный список строк: Определить три наиболее распространенных среди студентов имен http://www.cyberforum.ru/cpp-beginners/thread1178249.html
Нужно помочь с динамическими структурами данных: проблема в том, что я ничего не могу понять здесь у меня задача: "15.Сформуваты двунаправленный список строк, каждая из которых состоит из фамилии и имени студента. С помощью списка определить три наиболее распространенных среди студентов имен. " Я пробовал сначала не только с именами .... struct Node {
C++ В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное. В общем я написал но оно почему то не пишет в конец максимальный элемент и вставляя минимальный заменяет одну цифру..Помоги пожалуйста. #include <stdio.h> #include <iostream> using namespace std; int poisk() { FILE *f; int i, n, *a; подробнее

Показать сообщение отдельно
Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 90
16.05.2014, 22:56     Количество цифр в вещественном (!) числе
Цитата Сообщение от mymedia Посмотреть сообщение
но почему-то нет обратного
Ну как же нет, если есть?) Только забегая вперед, скажу что он Вам не всегда поможет
C++
1
2
3
4
5
6
7
double test = 1.0 / 1000000000.0;
 
std::cout << test << "\n";                    // 1e-009
std::cout.setf(std::ios::fixed);              
std::cout << test << "\n";                    // 0.000000
std::cout.unsetf(std::ios::fixed);
std::cout << test << "\n";                    // 1e-009
Выводимое количество знаков после запятой регулируется так:
C++
1
2
std::cout.setf(std::ios::fixed);
std::cout << std::setprecision(9) << test << "\n";           //0.000000001
Но такой трюк сработает не со всеми числами. Дело в том, что тип double хранит 15-17 значащих цифр (видимо дело в двоичном представлении числа и его округлении). Причем не важно, до запятой или после.

C++
1
2
3
4
double test = 10000000000.111111;
 
std::cout.setf(std::ios::fixed);
std::cout << std::setprecision(9) << test << "\n";      // 10000000000.1111110687
Так что, я бы на Вашем месте наверно умножал на 10 до тех пор, пока 15 цифр не окажутся до запятой, потом взять целую часть, убрать лишние нули в конце, и уже тогда считать цифры.
 
Текущее время: 15:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru