|
|
  |
Представление чисел с плавающей точкой |
|
|
|
Mar 22 2007, 11:52
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(ASZ @ Mar 22 2007, 05:21)  Очень интересует данная тема, поскольку исходников библиотек std.lib и math.lib у меня нет. Какой-то намек дает описание функции div_t div(int numer, int denom) и определение структуры div_t, но этого крайне мало. Интересует также процедура нормализации.
Все эти потуги связаны с тем, что меня не устраивают процедуры форматированного вывода чисел, представленных в плавающем формате. Посмотрите ссылки здесь: FPconvertСоветую взглянуть на документ AN575 от Microchip.
|
|
|
|
|
Mar 22 2007, 12:45
|
Местный
  
Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042

|
Цитата(_Bill @ Mar 22 2007, 12:52)  Посмотрите ссылки здесь: FPconvertСоветую взглянуть на документ AN575 от Microchip. Спасибо, но у меня вызывают сильные опасения относительно совместимости форматов представления Microchip'а и IAR AVR. ?
|
|
|
|
|
Mar 22 2007, 13:25
|
Местный
  
Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042

|
Цитата(rezident @ Mar 22 2007, 13:48)  В IAR используется стандарт IEEE754. Скачайте его да и изучайте на здоровье. P.S. представление float числа и форматированный вывод с помощью функций printf/sprintf слабо связанные между собой вещи ИМХО. Связаны слабо, но без знания формата не сделаешь свой ввод/вывод. Вся беда в том, что IAR свои биб-ки дает только в объектных файлах, и механику их работы подсмотреть невозможно. А я терпеть не могу пользоваться чужими "фичами" (или багами), предпочитаю свои  Относительно стандартов - я уже имел "счастье" набить шишки на соблюдении стандартов фирмачами. За ссылку спасибо, скачал.
|
|
|
|
|
Mar 22 2007, 13:31
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(ASZ @ Mar 22 2007, 12:45)  Спасибо, но у меня вызывают сильные опасения относительно совместимости форматов представления Microchip'а и IAR AVR. ? А какие тут могут быть опасения? Очевидно, что они несовместимы. В IAR используется формат IEEE754. Хотя Microchip использует свой формат, который оптимизирован для 8-разрядных процессоров, но он мало отличается от IEEE754. Разница состоит в том, что порядок размещается в отдельном байте, а знак числа перенесен в старший байт мантиссы. Впрочем, если Вы запустите утилиту, то все отличия увидите сами.
|
|
|
|
|
Mar 22 2007, 13:48
|
Местный
  
Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042

|
Цитата(_Bill @ Mar 22 2007, 14:31)  А какие тут могут быть опасения? Очевидно, что они несовместимы. В IAR используется формат IEEE754. Хотя Microchip использует свой формат, который оптимизирован для 8-разрядных процессоров, но он мало отличается от IEEE754. Разница состоит в том, что порядок размещается в отдельном байте, а знак числа перенесен в старший байт мантиссы. Впрочем, если Вы запустите утилиту, то все отличия увидите сами. Спасибо, буду экспериментировать. Наверное, будут шансы нарваться на ненормализованные числа, и придется делать самому и нормализацию
|
|
|
|
|
Mar 22 2007, 14:02
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(ASZ @ Mar 22 2007, 13:48)  Спасибо, буду экспериментировать. Наверное, будут шансы нарваться на ненормализованные числа, и придется делать самому и нормализацию  Могу добавить, что исходные тексты подпрограмм с FP приведены в AN575, для PIC16. Их можно посмотреть. Для IAR все примерно то же самое (алгоритмы). Разница состоит в том, что числа в формате IEEE754 нужно предварительно распаковывать перед выполнением операций и упаковывать после выполнения операций, перед сохранением результата в памяти. В формате Microchip такие операции тоже есть но они короче.
|
|
|
|
|
Mar 22 2007, 14:40
|
Местный
  
Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042

|
Цитата(_Bill @ Mar 22 2007, 15:02)  Могу добавить, что исходные тексты подпрограмм с FP приведены в AN575, для PIC16. Их можно посмотреть. Для IAR все примерно то же самое (алгоритмы). Разница состоит в том, что числа в формате IEEE754 нужно предварительно распаковывать перед выполнением операций и упаковывать после выполнения операций, перед сохранением результата в памяти. В формате Microchip такие операции тоже есть но они короче. Посмотрел - то что надо! Большое спасибо!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|