![]() |
|
|
![]()
|
|
| Дерзающий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 16.3.2006 Репутация: нет Всего: нет |
ЛЮДИ ДОБРЫЕ ПОМОГИТЕ!!!
Ни черта не смыслю в ассемблере но срочно нужна вставка на ассемблере в С++ для возвращения количества символов после запятой в переменной типа double. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
hint: вопрос поставлен некорректно. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Их там 18 максимум на самом деле Это 53 БИТА под мантиссу выделено. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
ИМХО очевидно, что речь идет о значащих символах после запятой в нормальном(не scintific) формате...
А зачем на асме? Все равно парсить в строку придется - вот и вызови sprintf Это сообщение отредактировал(а) Sartorius - 4.4.2007, 16:47 |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
||||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 7 Всего: 10 |
У числа вещественного типа double 53 бита выделено под дробную часть мантиссы, целая часть там всегда равна 1.
У числа вещественного расширенного типа (10 байт) 64 бита выделено под всю мантиссу, включая целочисленную ее часть (у нормализованного числа целая часть мантиссы равна 1). Отношение количества значащих цифр в двоичной системе счисления к количеству значащих цифр в десятичной системе счисления равно примерно квадратному корню из 10. При переводе из двоичной системы счисления к десятичной : у числа double будет до 15...16 значащих десятичных цифр дробной части в научном формате у числа extended будет до 18...19 значащих десятичных цифр дробной части в научном формате. -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| Дерзающий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 16.3.2006 Репутация: нет Всего: нет |
Спасибо за такой быстрый ответ.
Дело в том что нужно массив цифр double типа (с++ имеется в виду) привести к общему знаменателю. Количество цифр огромно и это нужно сделать за 2 прохода: 1. найти максимальное количество значащих символов после запятой, то есть из 1,23 и 1,2345, max будет 4 символа у 1,2345 2. умножить каждый элемент на 10 в степени max , в данном случае 4, то будет 12300/10000 и 12345/10000 На с++ переводить в текстовый вид и считать количество символов после запятой будет очень долго так как чисел минимум 1000000. Короче не знаю как, посоветуйте если какието мысли есть. Только не совсем на слэнге пишите а то я только начинаю пытаться ассемблер изучать. Спасибо всем заранее!!! |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 1 Всего: 162 |
Ага, а ошибки представления двоично-десятичные не учитываются, что ли? Невозможно будет получить точно 1,23... будет что-то типа 1,230000008 или 1,229999997. Так что кроме перевода в строку будет сложно что либо-сделать...
Хм... это не так уж и много... а какой временной лимит? |
|||
|
||||
| Дерзающий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 16.3.2006 Репутация: нет Всего: нет |
Время в принципе не ограничено, но хочется что бы было быстрее чем в с++.
А можно если не трудно привести пример кода (желательно в виде вставки в С++) для перевода числа в строку и нахождение количества значащих символов после запятой. Заранее спасибо. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |