Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Вниз
Дйствительное число с плавающей запятой Найти похожие ветки
← →
revo (2004-12-17 13:53) [0]Подскажите пожалуиста как преобразовать нормализованное число в форме с плавающей точкой из машинного вида в арифметический? Например по модемному каналу приходит посылка (hex) $00 $00 $48 $42. Точно знаю, что это число 50.0. Формат такой: сначала 3-и байта(первый младший) - мантисса, 4-ый байт - порядок (старший разряд в нём - знак).
Помогите, задолбался я уже.
← →
Digitman © (2004-12-17 14:04) [1]
> из машинного вида
машины разные бывают.
бывает Intel, бывает Motorola, бывает AntilopaGnu ..
и каждая вольна хранить такие числа в своем внутреннем представлении, даже если существует какой-то там IEEE
> в арифметический
а это как ?
> $00 $00 $48 $42. Точно знаю, что это число 50.0
откуда знаешь-то ?
если ты сделал, к примеру, следующее :
var
Posylka: array[0..3] of Byte = ($00, $00, $48, $42);
..
ShowMessage(FloatToStr(PSingle(@Posylka)^);
и увидел сообщение с изображением числа "50", то умозаключение должно было последовать само собой ... и вопрос бы твой не возник вообще ...
← →
begin...end © (2004-12-17 14:22) [2]> [1] Digitman © (17.12.04 14:04)
> ShowMessage(FloatToStr(PSingle(@Posylka)^)
А разве нельзя вот так: ShowMessage(FloatToStr(Single(Posylka))) ?
← →
Digitman © (2004-12-17 14:41) [3]
> begin...end © (17.12.04 14:22) [2]
в ДАННОМ случае можно и так - компилятор поймет и простит)
хотя вариант с явным приведением типа через указ.тип наглядней.
но суть-то не в этом..
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 2.536 c