Страница 1 из 1
Представление типа float в двоичной системе
Добавлено: Вс янв 21, 2007 20:23:21
factorial
Подскажите пожалуйста как представляеться переменная с плавающей точкой в двоичной системе, ведь в памяти SRAM нету "точки". Я понимаю, что ее положение может указывать еще одна переменная, но когда отлаживаеш в AVR4, там указываеться только адрес переменной, когда смотришь на адрес, то видешь совсем не то число которое задал. Переменная flot занимает 4 байта, я так понял, что в ячейке указанной AVR указан начальный адрес. Вообщем, подскажите как оно представляеться.

Добавлено: Вс янв 21, 2007 20:58:56
moLCHec
тип float использует 32 битный(4 байт) формат стандарта IEEE с 8-разрядной экспонентой, 23 разрядной мантисой и 1-м знаковым битом. Как конкретно они там расположены я не знаю. представление получается такое например 221e2 т.е. 221*10^2 221-мантисса, 2-экспонента.
Оно то харашо
Добавлено: Вс янв 21, 2007 21:23:09
factorial
А где делся еще один бит: 32-8=24, а не 23? Наверное под знак... Вообщем можно сказать, что если число 12,064 представлять таким образом, то получиться 0,12064*10^(2). Тоесть используеться один регистр для представления экспоненты, а остальные три для мантисы. Осталься только вопрос один, почему по заданому адресу в АВР нету сходств между числами, ведь если там и представлена мантиса, то оно должно сходиться, только без запятой.
Добавлено: Вс янв 21, 2007 21:34:22
Abakt
Cделайте в CVAVR например и посмотрите АСМ листинг и что происходит в симуляторе - например VMLAB. Можно использовать готовый шаблон -
http://www.radiokot.ru/forum/viewtopic.php?t=2273
Все о том же
Добавлено: Вс янв 21, 2007 21:49:20
factorial
Я сейчас и использую паралельно компилятор CodeVision и симулятор AVR4. Только чето немогу найти, где там предсталяеться экспонента., ну то ладно, еще поищу. А по представлению числа я тут коечто надыбал на сайте
http://forstu.narod.ru/edu/lekcii/infa/ ... comp_5.htm
Re: Все о том же
Добавлено: Вс янв 21, 2007 22:20:42
Abakt
factorial писал(а):Я сейчас и использую паралельно компилятор CodeVision и симулятор AVR4. Только чето немогу найти, где там предсталяеться экспонента.
будет время и желание попробуйте VMLAB.