Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.01.09;
Скачать: [xml.tar.bz2];

Вниз

Хранение вещественного в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.003 c
15-1285273761
Юрий
2010-09-24 00:29
2011.01.09
С днем рождения ! 24 сентября 2010 пятница


15-1285288102
piople
2010-09-24 04:28
2011.01.09
Нужны бета тестеры для онлайн сервиса


2-1287351196
Германн
2010-10-18 01:33
2011.01.09
Caption на кнопках ToolBar


15-1285317768
Gudvin
2010-09-24 12:42
2011.01.09
Технология CUDA + Delphi


15-1285391446
ForumReader
2010-09-25 09:10
2011.01.09
Хочу предложить сервис платных ответов на срочные/сложные вопросы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский