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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TempuSFatumA
 Аватар для TempuSFatumA
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 87
#1

Урезание значений чисел - C++

04.04.2013, 03:16. Просмотров 265. Ответов 3
Метки нет (Все метки)

Здравия желаю!

Вследствие периодического возникновения такой проблемы (а точнее по желанию левой пятки) решил задать вопрос: как убрать ненавистное округление значений чисел, например переменной типа double со значением "123456789012345678.0" округляется до "123456789012345680.0"? Ведь, чем число больше, тем больше округляется его значение. Как от этого избавиться?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 03:16     Урезание значений чисел
Посмотрите здесь:

Перебор возможных значений для трёх чисел C++
C++ Записать в файл N действительных чисел. Найти наибольшее из значений модулей компонент с нечетными номерами.
C++ Смена в памяти значений двух целых чисел.
C++ Организовать ввод целых четных значений в одномерный массив с контролем вводимых чисел
C++ В двумерном массиве 5*4 целых чисел найти сумму абсолютных значений элементов каждой строки
C++ В двумерном массиве 5*4 целых чисел найти сумму абсолютных значений элементов каждой строки
C++ Написать инструкцию ввода и вывода значений трех чисел с 4 знаками целой и 3 дробовой части
C++ Ввести с клавиатуры n целых чисел и определить количество ненулевых значений
Написать функцию для вычисления произведения значений матрицы вещественных или целых чисел C++
Создайте функцию, которая просматривает массив из 10 целых чисел в поисках одинаковых значений. Все найденн C++
C++ Создание очереди чисел (умножение элементов, добавление и удаление, проверка значений)
C++ Проверка чисел на диапазон допустимых значений

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Praktolock
 Аватар для Praktolock
65 / 65 / 1
Регистрация: 29.11.2011
Сообщений: 300
04.04.2013, 07:42     Урезание значений чисел #2
double - число с плавающей точкой, его точность зависит от масштаба. используй типы данных с большим диапазоном значений. и советую не использовать нецелые типы данных для хранения заведомо целых значений, если уж у тебя необходимость работать с такими большими числами

Добавлено через 1 минуту
например тип int64 для твоего примера подойдёт
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.04.2013, 11:18     Урезание значений чисел #3
Избавиться от округления совсем нельзя, так как для этого нужны: бесконечная память, тип с бесконечной разрядностью и бесконечноразмерное устройство вывода, выводящее с бесконечной скоростью. Но можно задать точность, достаточную для любой конкретной задачи и для любой конкретной цели. В том числе, можно задать точность до миллиардных при масштабе где то около гугла. Для этого память, разрядность, размеры устройства вывода и скорость вывода должны быть просто большими. и дело здесь не конкретно в дабле, а в самом факте ограниченности отводимого под число места.
TempuSFatumA
 Аватар для TempuSFatumA
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 87
04.04.2013, 11:54  [ТС]     Урезание значений чисел #4
Спасибо, Praktolock, taras atavin. Хоть частично, но помогло.
Yandex
Объявления
04.04.2013, 11:54     Урезание значений чисел
Ответ Создать тему
Опции темы

Текущее время: 02:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru