Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.09;
Скачать: CL | DM;

Вниз

Хранение вещественного в 2 целых числах, и операции с ним   Найти похожие ветки 

 
МИхаил   (2010-09-15 21:29) [0]

Добрый день уважаемый, помогите пожалуйста:
Препод задал задание, нужно быстро преобразовать вещественное в 2 целых(целое и дробное) и обратно.
А также произвести операции над ними - "+", "-", "/", "*"


 
Плохиш ©   (2010-09-15 21:54) [1]


> Препод задал задание

Так и сказал, передай на делфимастер пусть решают?

PS. Ты ещё до начинающих недополз, а уже в основную лезешь.


 
МИхаил   (2010-09-15 22:10) [2]

Пасибо за помощь, вы мне ООЧЕНЬ ПОМОГЛИ


 
Сергей М. ©   (2010-09-15 22:13) [3]


> МИхаил   (15.09.10 21:29)  


Чем же помочь тебе, убогий ?
Неужели программу за тебя написать ?)


 
Игорь Шевченко ©   (2010-09-15 22:15) [4]


> помогите пожалуйста


если только преподу: диагноз - не сдал


 
МИхаил   (2010-09-15 22:18) [5]

Все тут добрые, спасибо, учусь на заочном, если кто видел подходящий теоретический материал, ябы с удовольствием прочел...
а больше ничего не надо... сам справлюсь


 
МИхаил   (2010-09-15 22:21) [6]

з.ы. прогрмму писать никого не просил...


 
_сюжетнаялиния_   (2010-09-15 22:21) [7]

Элвис покинул здание...)


 
Anatoly Podgoretsky ©   (2010-09-15 22:22) [8]

> Игорь Шевченко  (15.09.2010 22:15:04)  [4]

ДМ на слабо взять не смог.


 
Сергей М. ©   (2010-09-15 22:30) [9]


> МИхаил   (15.09.10 22:18) [5]
>
> Все тут добрые


Это да, это ты верно подметил)

> учусь на заочном

Да хоть на луне)..
Учишься-то ты)
Только вот чем тебе помочь конкретно ты так и не сказал)
Оттого и резонный вывод - мол, сделайте мою работу за меня, а я сдам эту работу преподу как собственноручно выполненную)


 
МИхаил   (2010-09-15 22:35) [10]

Мне нужен теоретический материал:
предпосылки такие
нужно уложить вещественное число в 2 32битных целых
а соответсвенно реализовать простейшие операции для работы, такие ка "+", "-", "/", "*"
С какой стороны подступится не знаю, в математике я не сильно силен...
Все дело в том, что вычисления будут производится на мобильном процессоре, и нужно сделать приемлемое быстродействие.

з.ы. для ПС ябы через string все реализовал и не парился бы... но тут особый случай...
з.з.ы. 2 32битных целых взяты из за того, что точности одного целого не хватает...


 
0x00FF00 ©   (2010-09-15 22:35) [11]

Злые здесь все какие-то...

МИхаил, есть в Delphi две полезные функции — trunc и frac.

Первая из них откусывает от вещественного числа дробную часть, делая возможным записать её в переменную целочисленного типа.

Вторая — откусывает, собственно, целую часть, оставляя дробную. В целое число её просто так не запишешь, придётся домножать на десять в степени количество_знаков_после_запятой, а только потом записывать (применив давешний trunc).


 
0x00FF00 ©   (2010-09-15 22:37) [12]


> делая возможным записать её в переменную

Речь, разумеется, о целой части нашего вещественного числа.


 
Германн ©   (2010-09-15 22:44) [13]


> МИхаил   (15.09.10 22:35) [10]
>
> Мне нужен теоретический материал:
> предпосылки такие
> нужно уложить вещественное число в 2 32битных целых
> а соответсвенно реализовать простейшие операции для работы,
>  такие ка "+", "-", "/", "*"
> С какой стороны подступится не знаю, в математике я не сильно
> силен...
> Все дело в том, что вычисления будут производится на мобильном
> процессоре

Был когда-то у меня подобный материал, но...
Остались лишь вспомогательные библиотеки для 51-го, но по ним ничего не поймешь сходу.


 
Сергей М. ©   (2010-09-15 22:46) [14]


> МИхаил   (15.09.10 22:35) [10]


Ну вот теперь более-менее понятно)

Гугль тебе в руки на тему "формат представления числа с плавающей точкой IEEE"

Ну вот, скажем, краткий и вполне вразумительный ликбез из первых же возвращенных ссылок:

http://www.softelectro.ru/ieee754.html


 
Сергей М. ©   (2010-09-15 22:57) [15]


> Препод задал задание, нужно быстро преобразовать вещественное
> в 2 целых(целое и дробное)


Препод, похоже, поиздеваться над тобой захотел)


 
Sapersky   (2010-09-16 00:10) [16]

Фиксированная точка ему нужна, а не плавающая.


 
Sha ©   (2010-09-16 00:23) [17]

> Sapersky   (16.09.10 00:10) [16]
> Фиксированная точка ему нужна, а не плавающая.

По идее, да.
Но только если препод заранее сказал при этом,
скока хочет знаков до и после.

А то вдруг преподу приспичит поработать с 1e+42 или 1e-42.
Облом"с. Придется порядок хранить.


 
Германн ©   (2010-09-16 01:35) [18]


> А то вдруг преподу приспичит поработать с 1e+42 или 1e-42.
>
> Облом"с. Придется порядок хранить.
>

Может и приспичить. Что невозможного?


 
Sha ©   (2010-09-16 07:45) [19]

В общем, нужна точная формулировка задания в изложении препода.
Вдруг ему достаточно абсолюта? Не знаю, выпускают сейчас? ;-)


 
Anatoly Podgoretsky ©   (2010-09-16 09:33) [20]

> Sha  (16.09.2010 00:23:17)  [17]

Не обязательно, достаточно 21 байта. Хранятся по 19 байт


 
Плохиш ©   (2010-09-16 11:45) [21]


> МИхаил   (15.09.10 22:35) [10]
>
> Мне нужен теоретический материал:

Книжки "Делфи за 21 секунду для полных чайников" вполне подойдёт.


 
Плохиш ©   (2010-09-16 11:48) [22]


> МИхаил   (15.09.10 22:35) [10]


> Все дело в том, что вычисления будут производится на мобильном
> процессоре, и нужно сделать приемлемое быстродействие.

На какой версии делфи собираетесь кодить?


 
Cobalt ©   (2010-09-27 13:04) [23]

Дробное число в машинах представляют дробной частью (мантисса) и  порядком, т.е. 3,1415926 будет представлено 0,31415926 * 10^1
где  0,31415926 - это само число (мантисса), а 1 - порядок
Записывают, конечно, само число без нуля с точкой, это форма такая
получается два числа: [+ 31415926] [+1]
в зависимости от потребностей, на мантиссу и порядок выделяют необходимое число байт.
От вместимости мантиссы зависит точность числа, а от вместимости порядка - диапазон хранения чисел.

Соответственно, надо отсюда танцевать - хотя правила сложения/вычитания, умножения и деления есть в учебниках всяких техникумов по основам Выч. техники.



Страницы: 1 вся ветка

Текущий архив: 2011.01.09;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.008 c
3-1251053802
Maks Zyuzin
2009-08-23 22:56
2011.01.09
IBDataSet и сбрасывание значений параметров


15-1285527911
student92_
2010-09-26 23:05
2011.01.09
Формулировка текста задания.


2-1286948561
Олег Крапивин
2010-10-13 09:42
2011.01.09
Ищу документацию на md MailSlot


2-1287133819
coolon81
2010-10-15 13:10
2011.01.09
Не могу разобраться со связями таблиц


2-1287047598
mfender
2010-10-14 13:13
2011.01.09
Запустить внешнюю программу и определить, что...