Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сохранение вещественного числа побайтно в память
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Hastja

Кто сталкивался, подскажите аль поделитесь идеями, как красиво сохранить вещественне число побайтно в память, в какую - это уже аппаратный вид реализации.
Язык Си.

Сам могу предположить:
- преобразовать в строковый тип библиотечными функциями и сохранить побайтно.
- сделать ассемблерную вставку, а там все сделать.

Хотелось бы выслушить ваши предложения,
по возможности реализацию.
Заранее благодарен за любые старания.
Alex11
В C для этого существует union. делаешь эквивалентность float и массива из нужного количества байт, а дальше складываешь и вынимаешь с той стороны, с какой надо в данный момент. В строку можно преобразовать, но только если нужен вид, который можно посмотреть глазами, а если просто сохранить - union.
Alex03
Иль так
Код
    float f;
    char* p = (char*) &f;
    ... пользуем p;

Но тут тоже грамотно писать надо чтобы компиллер лишнего не наоптимизировал, т.е. чтобы f в памяти был до того как начнётся использование p.
scifi
Или так:
Код
float f = 1.2345;
unsigned char c[4];
c[0] = *(unsigned int*)&f;
c[1] = *(unsigned int*)&f >> 8;
c[2] = *(unsigned int*)&f >> 16;
c[3] = *(unsigned int*)&f >> 24;
Hastja
ЧЁРТ, СЛУЧАЙНО ВТОРОЙ ТОПИК СОЗДАЛ.
Смотрите кому интереснее первый, он вверху.

Спасибо за ответы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.