Форум: "Потрепаться";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
ВнизВопрос по Assembler у Найти похожие ветки
← →
Romkin (2001-12-26 15:36) [4]Все довольно просто, сначала выбираешь формат числа, к примеру, в Паскале тип real занимает 6 байт (48 бит)
Каждое такое число состоит из мантиссы и экспоненты (то и другое в двоичном виде), и при этом нормализовано, те имеет вид 1,001010111... * е^(10101), к примеру (в десятичном виде что-то подобное 3,456*10^3). Отсюда получается, что первый бит - всегда 1, и его используют для знака мантиссы.
В реал типе первый бит знак мантиссы, далее 39бит - мантисса (всего 40-бит),
8 бит экспонента (s(1),f(39),e(8)). Число расшифровывается так:
(-1)^s * 2^(e-129) * (1.f)
При производстве умножения - мантисы умножаются со знаком, экспоненты складываются (о переполнении сам подумай)
При сложении меньшее слагаемое сначала денормализуется - shr мантиссы на разницу между экспонентами, после этого складывается и нормализуется результат. и ТД. ТК все числа двоичные, все довольно легко
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c