Приветсвую всех! Народ, пожалуйста подскажите как быть с мат. сопрпоцессором. Вот как он работает с данными заранее вещ. числами это вроде как-то понятно, а вот что же делать, если надо их вводить вручную с клавиатуры? Ведь получается, что вводиться последовательность символов - то бишь уже строка. если бы эта строка не содержала буквенных символов, то тады спокойно можно было бы перевести её в число, но тут же имеется символ "е". Как же быть в таком случае с ним-то? Я же не могу ввести строку в стек и далее работать с ней. Или же может есть какой-либо другой способ для пересылки таких вот данных в стек? Please, подскажите что именно я здесь не доганяю и как же решить эту проблему-то. Заранее благодарю.
Asterix Ну должен же кто-то в конце концов сделать функцию обратную к float_to_str. А кто это сделает кроме того, кому она нужна?
Кстати, а MSVC вообще пользуются? Я как-то сунулся: там разные версии есть и неясно, какие из них являются частью винды и являются ли. Пишу функции такого рода сам, вопросов нет, но может юзать MSVC эффективнее? (или лучше продолжать самому?)
Хех, до боли знакомая проблемка! Рассказал бы мне кто нить это в апреле, когда у меня горел курсовик.... эхъ, времени на поиски литературы не было, составил свой "деревянный" способ на скорую руку: 1. вводим строчку с клавиатуры, содержащую число. 2. преобразуем ее с конца в hex, запоминая порядок 3. Натыкаясь на точку понимаем, что это была дробная часть и пихаем ее в сопроцессор, соответсвенно умножаем на 10 в (степени_порядка*(-1)) и сохраняем в памяти. 4. преобразуем оставшийся обрывок в хекс, пихаем в сопроцессор, прибавляем сохраненное и получаем Floating point... 5. Если в строчке введен знак, учитываем это, предпринимая соответвующие действия. Это так, вкратце (прошу прощения, алгоритм убогий и дегенеративный, но работает 100%, годится только для работ "на отмазку" в условиях недостатки времени), сырок валяется на винте ---> iw@ua.fm. Сходным образом и обратное преобразование. Вообще если серьезно, то это не тривиальная задача... Была ссылка на конкретную литературу, к вечеру найду - выложу.
Насчет Е - еще проще, за ней идет порядок, просто можно пихнуть в стек все то, что до Е, а потом умножить на 10 в степени то_что_после_Е