![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как представить число в виде трех float чисел.
@!!ex © (2009-07-06 10:24:00)Есть некоторое число N в пределах от 0 до 8388608.
Есть три float f1,f2,f3 разрядность у них 8 бит.
Нужно как-то сохранить число N в этих трех числах.
Вроде простая задча только у меня не получается...
f1 := round(N/32768.0)/256.0;
f2 := round((N-f1*32768.0)/128.0)/256.0;
f3 := (N-f1*32768.0-f2*128.0)/256.0;
Получается бред.
P.S.
Битовых операций нет. f1,f2,f3 могут принимать значение от 0 до 1.
Anatoly Podgoretsky (2009-07-06 15:54:00) [1]Так у нас не обсуждают, с нападками на участников.
@!!ex (2009-07-06 15:11:00) [2]Вот решение.
В одну сторону
N:=N/256*2;
f3:=frac(N);
z:=round(N)/256;
f2:=frac(N);
f1:=round(N)/256;
В другую
N:=(f1*256*256*256+f2*256*256+f3*256)/2;
40 постов разговоров ни о чем. Такое ощущение, что здесь реально народ собирается чисто поговорить ни о чем.
sniknik (2009-07-06 12:58:00) [3]> Нужно N однобитных float
смешно. но только вносит путаницу... (а вдруг кто поверит в существование однобитного float-а? а тут судя по всему вера в чудеса очень сильна...)
sniknik (2009-07-06 12:55:00) [4]> Я раза три повторил что НЕТ никакого второго числа.
@!!ex © (06.07.09 10:24)
> Есть некоторое число N в пределах от 0 до 8388608.
число номер раз.
> Есть три float f1,f2,f3 разрядность у них 8 бит.
> f1,f2,f3 могут принимать значение от 0 до 1.
число номер 2.
разбито на 3, это просто чтобы запутать, упрощая можно взять только одно f со значением от0 до1 (т.е. 0.0001, 0.0002 и т.д.), и пытатся сохранить в него третью часть от N (часть в битах, т.к. разговор о вместимости а не порядках), т.е. значение 255.
ну во всяком случае именно так я понял фразу
> Нужно как-то сохранить число N в этих трех числах.
если это не так, попытайся еще раз. трех раз НЕТ видимо мало.
Anatoly Podgoretsky (2009-07-06 12:51:00) [5]> sniknik (06.07.2009 12:41:31) [31]
Нужно N однобитных float
@!!ex (2009-07-06 12:46:00) [6]> [31] sniknik © (06.07.09 12:41)
Я раза три повторил что НЕТ никакого второго числа.
sniknik (2009-07-06 12:41:00) [7]> а где второе число?
вернее - где математическое решение позволяющее там держать второе число?
sniknik (2009-07-06 12:39:00) [8]> если бит равен 0, то число 0, если 1 - то число 1. В чем проблема?
а где второе число?
твоя проблема. это же тебе нужно в месде для одного числа держать 2.
> Да мне плевать на техническое представление. это МАТЕМАТИЧЕСКАЯ задача, а не техническая.
тогда зачем приводишь технические ограничения? давай тогда примем, что f1,f2,f3 это флоат с разрядностью в 16 бит, и значением только в 0 или1. (а не от 0 до 1)?
и легко решим ее математически...
Leonid Troyanovsky (2009-07-06 12:37:00) [9]
> @!!ex © (06.07.09 12:33) [28]
> Да мне плевать на техническое представление. это МАТЕМАТИЧЕСКАЯ
У тебя туманное представление о браке, тебя кто-то обманул.
--
Regards, LVT.
@!!ex (2009-07-06 12:33:00) [10]> [26] amir (06.07.09 12:22)
Да мне плеватьна техническое представление. это МАТЕМАТИЧЕСКАЯ задача, а не техническая.
> [27] sniknik © (06.07.09 12:24)
если бит равен 0, то число 0, если 1 - то число 1. В чем проблема?
sniknik (2009-07-06 12:24:00) [11]давай по другому, давай ты ответишь ->
упростим, есть 1 бит, в нем возможны (передаются) значения 0-1. предложи математический аппарат для хранения в этом бите еще значения тех же - 0-1 (не буду наглеть как ты превышая вместимость на порядки, дам только равную).
ну ???
amir (2009-07-06 12:22:00) [12]>@!!ex © (06.07.09 11:45) [15]
>Я понятия не имею как оно хранится.
@!!ex © (06.07.09 11:52) [17]
>Я НЕ ЗНАЮ как работает видео процессор с цветовыми каналами текстуры.
Т.е. ты не имеешь ни малейшего представления о проблемном предмете, ни в какую не желаешь это представление поиметь, на задачу решить пытаешься ?
sniknik (2009-07-06 12:19:00) [13]> Это просто переменные. У них НЕТ значений.
тебе говорят про место под значение, а значения приводятся для примера. отвлеченно просто про место (см. [5]) ты не понял.
Anatoly Podgoretsky (2009-07-06 12:17:00) [14]> @!!ex (06.07.2009 12:11:21) [21]
У тебя не с русским проблемма!
Anatoly Podgoretsky (2009-07-06 12:16:00) [15]> @!!ex (06.07.2009 12:11:20) [20]
Это норма для флоат, все числа в этом диапазоне + порядок
Anatoly Podgoretsky (2009-07-06 12:14:00) [16]> @!!ex (06.07.2009 11:52:17) [17]
У флоат есть в обязательном порядке, хотя бы один бит, а уж утверждение про мантису совсем смешное, число без числа.
@!!ex (2009-07-06 12:11:00) [17]Неужели я так плохо по русски пишу?
@!!ex (2009-07-06 12:11:00) [18]> [19] sniknik © (06.07.09 12:03)
Звиздец.....
эти числа не определены!!!!!!!!!!
Это просто переменные. У них НЕТ значений.
Но когд аих испольузем надо помнить, что они могут быть только в пределах от 0 до 1.
sniknik (2009-07-06 12:03:00) [19]> Забудьте вы о представлении.
> Мне математическое решение надо, не основанное на технологиях.
ага, неважно что в бутылку бочка вина не влезет, вы покажите мне как это делается. забудьте про бутылку....
> Потому что работаем всегда с дробной частью.
а оригинальное значение значит "принимает значение от 0 до 1"... отсюда следует, что биты используются полностью, т.к. возможны значения 0.5 например.
т.е. у тебя бутылка уже заполнена.
@!!ex (2009-07-06 11:53:00) [20]Скорее всего, кстати. Там иенно число с фиксированной точкой.
Потому что работаем всегда с дробной частью.