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

Вниз

преобразовать массив   Найти похожие ветки 

 
Nick-From ©   (2004-05-05 14:31) [0]

Есть массив вещественных чисел:
[0.1 0.12 0.123]
Как проще всего все числа массива догнать до целых, т.е. должно получиться:
[100 120 123]
я пока последовательно множу на 10 и проверяю весь массив на остаток от деления. Можт есть способ проще?


 
Nikolay M. ©   (2004-05-05 15:45) [1]

А проверить сначала каждый элемент на количество знаков после запятой и умножить потом на 10^макс.кол-во знаков - не проще? Только что будет, когда встретится 0.3333(3)? Да и про точность представления вещественных чисел тоже забывать нельзя: будет у тебя не 0.3, а 0.30000000001928374 - твои действия?


 
Palladin ©   (2004-05-05 15:47) [2]

перевести в String, убрать разделитель, добить с конца нулями все строки до наибольшей длинны и обратно в int... если массив огромный и точность бывает до 5 знаков, то прирост производительности обеспечен


 
Vlad Oshin ©   (2004-05-05 16:23) [3]

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


 
Palladin ©   (2004-05-05 16:28) [4]

самый быстрое и правильное решение, это отслеживать точность чисел при заполнении массива, а не бегать каждый раз по нему деля на десять


 
Vlad Oshin ©   (2004-05-05 16:29) [5]


> при заполнении массива

точно!



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
6-1081103599
Wiz@rd
2004-04-04 22:33
2004.05.23
Send ICQ message


1-1084270327
BlackTiger
2004-05-11 14:12
2004.05.23
Алгоритм переноса слов (на канве битмапа или принтера). Как/где?


6-1080902114
ultracrash
2004-04-02 14:35
2004.05.23
Можно ли пропинговать соединение WWW


3-1083063540
GIL
2004-04-27 14:59
2004.05.23
Сервер в IBDataBase


4-1081527497
raul
2004-04-09 20:18
2004.05.23
Пуск -> Найти, интерестное окошко получается ( там где "Результ