|
Консультант Витте
|
|
Реализовать класс чисел с плавающей точкой01.03.2015, 20:06. Показов 4900. Ответов 32
Метки нет (Все метки)
Добрый вечер!
Интересует такой вопрос,как реально можно реализовать класс чисел с плавающей точкой. Какие поля использовать?Как представить вещественное число допустим 5.25 в таком формате: Где S-знак,M мантисса в пределах [0,1] (наверное),2- основание,E порядок.
0
|
|
| 01.03.2015, 20:06 | |
|
Ответы с готовыми решениями:
32
Вычисления с плавающей точкой
Число с плавающей точкой в памяти компьютера |
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 17.03.2015, 09:07 | ||
|
0
|
||
|
3140 / 1741 / 274
Регистрация: 19.02.2010
Сообщений: 4,546
|
||
| 18.03.2015, 22:17 | ||
|
0
|
||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 19.03.2015, 14:04 | |
|
0
|
|
|
Консультант Витте
|
||
| 25.03.2015, 18:43 [ТС] | ||
|
т.е. такой вид Как представить мантиссу лучше? Как приводить к одному порядку тогда??
0
|
||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|||
| 26.03.2015, 10:29 | |||
|
1
|
|||
|
Консультант Витте
|
||
| 26.03.2015, 18:43 [ТС] | ||
|
2.То есть основание определяет систему счисления мантиссы к тому же?Или я не так понял? 3.А как вообще перейти от числа допустим 1.253 к числу с основанием 3,т.е.
0
|
||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 26.03.2015, 18:52 | |
|
Ни одна десятичная дробь не имеет точного троичного представления. И двигать точку до целой мантиссы не поможет, так как получишь множитель, являющийся отрицательной степенью десяти, а это тоже десятичная дробь. Точно двоичное представление тоже есть не всегда, а конкретно степени десяти с целыми отрицательными показателями ни одна не имеет точного двоичного представления.
0
|
|
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|||
| 30.03.2015, 14:01 | |||
|
1,253 = 1*30 + 0,253 = 1*30 + 0*3-1 + 0,253 =1*30 + 0*3-1 + 2*3-2 +0,030(7) и так далее, пока не заполним все цифры в мантиссе, поскольку данное число на 3 нацело не делится. Добавлено через 7 минут получим 1.012.. *30
1
|
|||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
||
| 31.03.2015, 09:19 | ||
|
Если мантисса и основание в 3-чной системе счисления, то, как обычно, раскладываем число по степеням тройки с коэффициентами меньше 3-х. пусть число 34.56 длиннотекст
начнем с 3-й степени, это 4-я цифра перед запятой (в троичной системе счисления) 33=27 34.56 - 1*27 = 7,56 1???.??? 32=9 больше чем оставшееся число 7,56 - 0*9 = 7,56 10??.??? 31=3 2*31=6 7,56 - 2*3 = 1,56 102?.??? 30=1 1,56 - 1 = 0,56 1021.??? 3-1=1/3=0,(3) 0,56 - 1/3 = 0,22(6) 1021.1?? 3-2=1/9=0,11(1) 2*3-2=0,22(2) 0,22(6) - 2/9 = 0,00(4) 1021,12? 3-3=1/27=0,037(037) больше чем последнее число 0,00(4) - 0/27 = 0,00(4) 1021,120 и так далее Конечно же, после запятой бесконечное количество цифр, но пусть у нас вот такая маленькая мантисса что вмещается только 7 цифр Возможно я выбрал не самый удачный метод разложения, можно было просто делить оставшееся число на очередную степень тройки чтобы целая часть результата была от 0 до 2, брать целую часть в качестве очередной цифры и переходить к меньшей степень тройки. Получим (-1)0*1021,120*30 делаем сдвиг - делим число на 1000 в троичной системе (т.е. на 33) и прибавляем 3 к порядку степени, получим (-1)0*1,021120*33
1
|
||
|
Консультант Витте
|
||
| 31.03.2015, 16:43 [ТС] | ||
|
То есть допустим у нас разные порядки,как произвести выравнивание. И к тому же я орудую только целыми числами,откуда запятую я возьму
0
|
||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|||
| 01.04.2015, 08:38 | |||
|
Кликните здесь для просмотра всего текста
1)1,021120*33 2)1,021120*31 = 0,102112*32 = 0,010211*33 Т.е. отбрасываем то что не помещается в мантиссу Теперь складываем. 1,021120 0,010211 --------- 1,102101 получили 1,102101*33 Прошу заметить как удобно когда система счисления степени и мантиссы совпадают - просто сдвигаем запятую вместо операций деления.
0
|
|||
|
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 1
|
|
| 09.05.2015, 13:08 | |
|
DmitryM5, Здравствуйте, у вас не осталось кода по этой теме?
0
|
|
| 09.05.2015, 13:08 | |
|
Преобразование 64-битного числа в число с плавающей точкой Преобразование чисел с плавающей точкой в числа с фиксированной точкой Класс : Число с плавающей запятой(точкой) Добавить в класс возможность вычисления значенний с плавающей точкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|