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

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

Войти
Регистрация
Восстановить пароль
 
fenix117
8 / 8 / 1
Регистрация: 16.03.2011
Сообщений: 249
#1

Как сохранить вещественное число, разбив его на два целых? - C++

10.01.2012, 15:23. Просмотров 539. Ответов 4
Метки нет (Все метки)

Здравствуйте, мне нужно написать класс дробного числа, где первая целая часть это LongLong(его я реализовал, он беззнаковый), а вторая часть short int. Наткнулся на такую неприятность: например 5.05, 05 в short int не сохранится (ноль перед числом отбрасывается), посоветуйте, может кто сталкивался.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 15:23     Как сохранить вещественное число, разбив его на два целых?
Посмотрите здесь:

Как объединить два целых числа в одно вещественное? - C++
К примеру есть две переменные a=25, b=35 .Как из них получить переменную c=25,35 ?

Как получить вещественное число при делении целых? - C++
как получить дробное число? 14/5=2 14%5=4 а как сделать чтобы ответ был 2.8??? Добавлено через 9 минут все ненадо уже) ...

Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N C++ - C++
Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту...

Дано вещественное число. Найти его вторую цифру в дробной части - C++
Дано вещественное число. Найти его вторую цифру в дробной части.

Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + . + 1/N будет больше A, и саму эту сумму - C++
Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту...

В строке записано вещественное число в форме с фиксированной точкой. Преобразовать строку, записав в нее округленное до целых значение данного числа. - C++
помогите пожалуйста!!!! В строке записано вещественное число в форме с фиксированной точкой. Преобразовать строку, записав в нее...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
5477 / 1843 / 343
Регистрация: 10.12.2010
Сообщений: 5,434
Записей в блоге: 3
10.01.2012, 15:36     Как сохранить вещественное число, разбив его на два целых? #2
В вашем случае, думаю, будет рациональнее делать "реверс" числа. То есть. Хранить у числа 5.05 05 в виде 50. Таким образом вы не потеряете нули.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.01.2012, 15:52     Как сохранить вещественное число, разбив его на два целых? #3
В short int влезет только 4 цифры
например число 1.12345678 ты уже не запишешь
Отсюда вывод - надо изменить способ сохранения числа
Вообще оригинально вещественное число хранится в виде знака мантиссы, мантиссы и порядка
http://ru.wikipedia.org/wiki/Число_двойной_точности
fenix117
8 / 8 / 1
Регистрация: 16.03.2011
Сообщений: 249
10.01.2012, 16:21  [ТС]     Как сохранить вещественное число, разбив его на два целых? #4
Цитата Сообщение от odip Посмотреть сообщение
В short int влезет только 4 цифры
unsigned short int – диапазон 0 … 65536;

Цитата Сообщение от odip Посмотреть сообщение
например число 1.12345678 ты уже не запишешь
в этом случае я буду генерировать исключение

Цитата Сообщение от odip Посмотреть сообщение
Отсюда вывод - надо изменить способ сохранения числа
Задание РГЗ, не мне его менять

Цитата Сообщение от HighPredator Посмотреть сообщение
В вашем случае, думаю, будет рациональнее делать "реверс" числа. То есть. Хранить у числа 5.05 05 в виде 50. Таким образом вы не потеряете нули.
Спасибо, так и буду делать

Всем плюс за отклик, спасибо что помогаете.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2012, 21:27     Как сохранить вещественное число, разбив его на два целых?
Еще ссылки по теме:

Пользователь вводит с клавиатуры: начальную сумму, внесённую на депозит (вещественное положительное число), годовой процент (вещественное положительно - C++
Пользователь вводит с клавиатуры: начальную сумму, внесённую на депозит (вещественное положительное число), годовой процент (вещественное...

Как будет выглядеть заголовок функции, принимающей в качестве входных параметров два целых числа и возвращающей число с плавающей запятой двойной точн - C++
1. int a, int b: f ( double ) 2. double f ( int a, int b ) 3. int f ( double a, int b ) 4. f ( int a, int b, return double ) 5....

Программа просит ввести число и умножить его на два, затем произведение умножить на два и т.д. - C++
3.Программа просит ввести число и умножить его на два, затем произведение умножить на два и т.д. выполнять эти операции пока произведение...

даны два целых числа K и N (N> 0). Вывести N раз число K - C++
даны два целых числа K и N (N> 0). Вывести N раз число K. На С++

Как округлить в С++ вещественное число до 2 знаков после запятой? - C++
Ну собсно вопрос в теме. заранее спасибо))

Дано вещественное число A и целое число N. Вывести A в степени N (код внутри) - C++
Дано вещественное число A и целое число N (N больше 0). Вывести A в степени N: AN =A•A•...•A (числа A перемножаются N раз). Использовать...


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

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.01.2012, 21:27     Как сохранить вещественное число, разбив его на два целых? #5
unsigned short int – диапазон 0 … 65536;
и что ?
Все равно влезет только 4 цифры
Задание РГЗ, не мне его менять
Ну тогда все понятно

Ну так храни только 4 цифры
0.1000 => 1000
0.0100 => 100
0.0010 => 10
0.0001 => 1
5.05 => 500
Yandex
Объявления
10.01.2012, 21:27     Как сохранить вещественное число, разбив его на два целых?
Ответ Создать тему
Опции темы

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