|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 2, 2004 00:42:33 Приветсвую всех! Народ, пожалуйста подскажите как быть с мат. сопрпоцессором. Вот как он работает с данными заранее вещ. числами это вроде как-то понятно, а вот что же делать, если надо их вводить вручную с клавиатуры? Ведь получается, что вводиться последовательность символов - то бишь уже строка. если бы эта строка не содержала буквенных символов, то тады спокойно можно было бы перевести её в число, но тут же имеется символ "е". Как же быть в таком случае с ним-то? Я же не могу ввести строку в стек и далее работать с ней. Или же может есть какой-либо другой способ для пересылки таких вот данных в стек? Please, подскажите что именно я здесь не доганяю и как же решить эту проблему-то. Заранее благодарю. |
|
|
Дата: Сен 2, 2004 01:14:00 |
|
|
Дата: Сен 2, 2004 01:21:08 Black_mirror Только в том топике кажется буковка 'e' не учитывалась ;-) |
|
|
Дата: Сен 2, 2004 01:27:11 Asterix Ну должен же кто-то в конце концов сделать функцию обратную к float_to_str. А кто это сделает кроме того, кому она нужна? ;) |
|
|
Дата: Сен 2, 2004 06:49:08 В MSVC библиотеках есть cооотв. strod и fcvt |
|
|
Дата: Сен 3, 2004 01:09:52 Кстати, а MSVC вообще пользуются? Я как-то сунулся: там разные версии есть и неясно, какие из них являются частью винды и являются ли. Пишу функции такого рода сам, вопросов нет, но может юзать MSVC эффективнее? (или лучше продолжать самому?) |
|
|
Дата: Сен 3, 2004 17:21:55 Хех, до боли знакомая проблемка! Рассказал бы мне кто нить это в апреле, когда у меня горел курсовик.... эхъ, времени на поиски литературы не было, составил свой "деревянный" способ на скорую руку: 1. вводим строчку с клавиатуры, содержащую число. 2. преобразуем ее с конца в hex, запоминая порядок 3. Натыкаясь на точку понимаем, что это была дробная часть и пихаем ее в сопроцессор, соответсвенно умножаем на 10 в (степени_порядка*(-1)) и сохраняем в памяти. 4. преобразуем оставшийся обрывок в хекс, пихаем в сопроцессор, прибавляем сохраненное и получаем Floating point... 5. Если в строчке введен знак, учитываем это, предпринимая соответвующие действия. Это так, вкратце (прошу прощения, алгоритм убогий и дегенеративный, но работает 100%, годится только для работ "на отмазку" в условиях недостатки времени), сырок валяется на винте ---> iw@ua.fm. Сходным образом и обратное преобразование. Вообще если серьезно, то это не тривиальная задача... Была ссылка на конкретную литературу, к вечеру найду - выложу. |
|
|
Дата: Сен 3, 2004 17:24:50 Насчет Е - еще проще, за ней идет порядок, просто можно пихнуть в стек все то, что до Е, а потом умножить на 10 в степени то_что_после_Е |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.071 |