Представление типа float в двоичной системе

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Открыл глаза
Аватара пользователя
Сообщения: 56
Зарегистрирован: Пн дек 25, 2006 02:29:15
Откуда: г.Винница Украина

Сообщение factorial »

Подскажите пожалуйста как представляеться переменная с плавающей точкой в двоичной системе, ведь в памяти SRAM нету "точки". Я понимаю, что ее положение может указывать еще одна переменная, но когда отлаживаеш в AVR4, там указываеться только адрес переменной, когда смотришь на адрес, то видешь совсем не то число которое задал. Переменная flot занимает 4 байта, я так понял, что в ячейке указанной AVR указан начальный адрес. Вообщем, подскажите как оно представляеться. :roll:
Контактная информация:
Реклама
Мявтор!
Аватара пользователя
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.

Сообщение moLCHec »

тип float использует 32 битный(4 байт) формат стандарта IEEE с 8-разрядной экспонентой, 23 разрядной мантисой и 1-м знаковым битом. Как конкретно они там расположены я не знаю. представление получается такое например 221e2 т.е. 221*10^2 221-мантисса, 2-экспонента.
Настоящий кот всегда либо голоден,
либо невыспался ...
Контактная информация:
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 56
Зарегистрирован: Пн дек 25, 2006 02:29:15
Откуда: г.Винница Украина

Сообщение factorial »

А где делся еще один бит: 32-8=24, а не 23? Наверное под знак... Вообщем можно сказать, что если число 12,064 представлять таким образом, то получиться 0,12064*10^(2). Тоесть используеться один регистр для представления экспоненты, а остальные три для мантисы. Осталься только вопрос один, почему по заданому адресу в АВР нету сходств между числами, ведь если там и представлена мантиса, то оно должно сходиться, только без запятой.
Последний раз редактировалось factorial Вс янв 21, 2007 22:36:58, всего редактировалось 1 раз.
Контактная информация:
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

Cделайте в CVAVR например и посмотрите АСМ листинг и что происходит в симуляторе - например VMLAB. Можно использовать готовый шаблон - http://www.radiokot.ru/forum/viewtopic.php?t=2273
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Аватара пользователя
Сообщения: 56
Зарегистрирован: Пн дек 25, 2006 02:29:15
Откуда: г.Винница Украина

Сообщение factorial »

Я сейчас и использую паралельно компилятор CodeVision и симулятор AVR4. Только чето немогу найти, где там предсталяеться экспонента., ну то ладно, еще поищу. А по представлению числа я тут коечто надыбал на сайте http://forstu.narod.ru/edu/lekcii/infa/ ... comp_5.htm
Контактная информация:
Реклама
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

factorial писал(а):Я сейчас и использую паралельно компилятор CodeVision и симулятор AVR4. Только чето немогу найти, где там предсталяеться экспонента.
будет время и желание попробуйте VMLAB.
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»