Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Алгоритм] Алгоритм представления информации


Автор: BCworm 9.9.2007, 14:21
Кто нибудь ведает как записать число –52,1875 а в ячейку памяти компьютера, 
предназначенную для типа REAL. В смысле не прогу написать на паскале типа

var a:real;
begin 
a:=–52,1875...


А решить это как пример по математике чтоб отобразить ход решения.
Взять число нормализовать и т.д. и т.п

Гружусь уже не первый день.


Автор: ne0n 9.9.2007, 14:53
так гляди, как уститроена ОЗУ, она состоит из большого количества конденсаторов, соответвенно если конденсатор заряжен, то это лог. единица, если нет, то лог. нуль! (вообще я чейка памяти устроена намного сложнее, была где то у мекня схемка ячейки памяти), так вот что тебе мешает перевезти это число в двоичный вид и "писать" как в конденсаторы... 

Автор: APM 9.9.2007, 16:06
-52,1875 = - 110100.0011 = - 0.1101000011 * 2^(110)
В стандарте IEEE 754 для хранения чисел с одинарной точностью отводится 32 бита. Из них один бит знаковый, 8 для экспоненты и 23 для мантиссы. Причем экспонента хранится со смещением 127.
 00111111
+
 00000110
--------------
 01000101

Таким образом получаем следующее представление двоичного числа:

1    01000101   10100001100000000000000

Вроде бы так, прошу не пинать, писал в спешке

Автор: Rockie 10.9.2007, 20:30
Кстати касаемо http://www.yur.ru/science/computer/IEEE754.htm

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)