|
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 162
|
|
Как добавить десятичную точку спереди? Пример 2345 -> 0.234526.11.2010, 19:15. Показов 6131. Ответов 15
Метки нет (Все метки)
как добавит десятичную точку спереди пример 2345 -> 0.2345
делить на 10000 не годится, во первых 10000 константа, а у нас может быть и 3455676 которое надо в 0.3455676 преобразовать, потом деление очень ресурсоемкая операция. к строковым преобразованиям тоже не хотелось бы прибегать.
0
|
|
| 26.11.2010, 19:15 | |
|
Ответы с готовыми решениями:
15
Программа проверки результатов вывода целого значения 12345 и значения с плавающей точкой 1.2345 в полях разной ширины Дано натуральное число а. записать убывающую последовательность чисел без последней цифры предыдущего ( например а=2345, полученная последовательность |
|
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 598
|
|
| 26.11.2010, 19:29 | |
|
арифметика с фикс. точкой? отдельно храним число, отдельно позицию точки в нем. а к нужному формату приводим только при выводе. деление/умножение на степень 10ки за одно сложение/вычитание, но теряется точность
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
| 26.11.2010, 21:02 | |
|
А какой тип переменной?
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|||||||||||
| 26.11.2010, 21:27 | |||||||||||
P.S. что-то больше ничего и не придумал. Bin -> BCD -> Bin это дольше. Разве что вот так сократить:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 162
|
|
| 26.11.2010, 21:32 | |
|
мне нужно ftoot собрать из байтов, но вообще я уже догнал, что в Си наверное можно собрать через union
правда пока еще не пробовал.
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|
| 26.11.2010, 21:34 | |
|
и вообще, какой тип входных и выходных данных?
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 162
|
|
| 26.11.2010, 21:38 | |
|
никак не могу понять, как этот Флоат кодируется
вот читаю http://en.wikipedia.org/wiki/IEEE_754-1 ... nt_biasing http://uptood.wikimedia.org/wikipedia/sommons/thumb/e/e8/IEEE_754_Single_Ftooting_Point_Format.sv g/618px-IEEE_754_Single_Ftooting_Point_Format.sv g.png формула http://uptood.wikimedia.org/math/d/5/6/d56947fa86162516e5b73bd7a10100cf.png сигн понятно, экспонента тоже, - все сходится, но вот Fraction (23 bit) никак у меня получается 1 000 000 000 000 000 000 000 = 2097152 Fraction = 1.2097152 1.2097152*10^-3 = 0.00120971 а в примере указанно 0,15625
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 162
|
|||
| 26.11.2010, 21:42 | |||
---
но тут очевидно обычный флоат не ПИКовский, потому как прибор разбирал - там стоит Atmega 128 а не PIC и 4 байта данные о температуре размер имеют
0
|
|||
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|
| 26.11.2010, 21:43 | |
|
Назови формат входных и выходных данных.
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 162
|
|
| 26.11.2010, 21:54 | |
|
входные
4 байта например 65 | 169 | 171 | 54 выходные -объеденить их в флоат --- для МК я понял как расшивровывать, через Юнион, но для компа я пишу под Дельфи, там Юнионов нет, поэтому вопрос открытый, как вообще этот флоат расшифровывать
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
| 26.11.2010, 22:01 | |
|
Что-то не совсем понятно.. эти 4 байта - простое целое число (aka integer) или что?
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 162
|
|
| 26.11.2010, 22:04 | |
|
это флоат переданное побайтово
его надо склеить
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
||||||
| 26.11.2010, 22:14 | ||||||
|
Так в чём беда-то?
байты b1, b2, b3, b4 Остальные действующие лица: res: single; //Результат tmp: DWORD; //Временная фигня p: Pointer; //Указатель
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 162
|
|
| 26.11.2010, 22:22 | |
|
О работает,огромное всем спасибо,
но правда все равно этот флоат черным ящиком для меня остался, потому как не понял, как мантисса преобразуется в десятичный вид
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|
| 26.11.2010, 22:31 | |
|
если ты пишешь на Си и на выходе тебе нужен обычный флоат - какие проблемы?
ftoot f = (ftoot) i; и просто берёшь код что я написал.
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
| 26.11.2010, 22:43 | |
|
Я потупил в ту статью на Википедии и вот что осознал:
Допустим, если значение мантиссы = х, то на самом деле это: http://**************************/download/file.php?id=2534&sid=750cdcf168f7a351905 ae2829aad0afd Т.е. у нас было 01.. и 21 нолик, что = 2097152. Мантисса тогда получается = 2097152 * (1/8388607) = 0.25. И тогда само число = 1.25 * 2^-3 = 0.15625. Сходится.... =) http://uptood.wikimedia.org/math/2/5/6/2567776ddd65d7deb6b0a8e63dd82e52.png
0
|
|
| 26.11.2010, 22:43 | |
|
Помогаю со студенческими работами здесь
16
Необходимо определять запятую, как десятичную точку Программным путем добавлять десятичную точку Как добавить новую точку на компонент Chart Как добавить точку в колонку таблицы с Python кода? Как в QwtPlotCurve добавить еще одну точку [qwt] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|