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

Из дробного - в целое - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расположить слова в каждом предложении в порядке невозрастания числа символов в них http://www.cyberforum.ru/cpp-beginners/thread711720.html
Требуется помощь чтобы сделать вот такую лабораторную: Составить блок-схему алгоритма и программу на языке Си ввода и обработки текста из нескольких предложений согласно заданию. При этом считать,...
C++ Как работает планировщик Помогите разобраться, как работает программа, по какому алгоритму планирования, желательно бы прокомментировать каждую строчку, если можно)) http://www.cyberforum.ru/cpp-beginners/thread704264.html http://www.cyberforum.ru/cpp-beginners/thread711704.html
Определить длину периода C++
Помогите плизз с прогой!=) Дано натуральное число n> 1. Определить длину периода десятичной записи дроби 1 / n.
C++ Класс String
Всем привет, помогите пожалуйста. Ошибка на этапе выполнения. Скомпилируйте программу, с помощью стрелочек(клавиш) перейдите на 2 пункт меню - "Произвольная строка", зайдите в него нажатием ENTER,...
C++ Прирывание процесса нажатием на кнопку на c# http://www.cyberforum.ru/cpp-beginners/thread711682.html
Есть форма с 2-мя кнопками. 1-я кнопка - запуск абстрактного процесса, а 2-я его прирывание. После запуска на выполнение кнопка "Стоп" не доступна. Как сделать так, что бы 2-я кнопка была доступна...
C++ БЕЗ использования библиотечных функций Помогите написать программу... Написать программу, которая (без использования библиотечных функций для обработки строк), копировала бы строчку введенную пользователем с клавиатуры в новую... подробнее

Показать сообщение отдельно
LVV
57 / 57 / 4
Регистрация: 15.02.2010
Сообщений: 258

Из дробного - в целое - C++

28.11.2012, 07:59. Просмотров 792. Ответов 6
Метки (Все метки)

Есть дробное число. Например: double a=123.456;
Нужно убрать в нём запятую, превратив в целое число 123456.
Количество десятичніх знаков (после запятой) неизвестно.
Превращать число в строку и обратно нельзя, нужно всё сделать числовыми методами.
Чисто логически, следует домножать число на 10, пока не останется дробной части:
while (a-int(a))
a*=10;

Но такой "фокус" не проходит из-за особенностей представления вещественных чисел, где 123.456 на самом деле представлено как 123.45599999999(9).
Вопрос 1: Всегда ли вещественное число a.b представлено в памяти ПК как a.(b-1)999999(9) или есть варианты?
Вопрос 2: Как числовым методом превратить дробную часть вещественного числа (с произвольным количеством цифр) в целое число?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru