Главная страница
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.47 MB
Время: 0.028 c
8-1078199479
Алексей Петухов
2004-03-02 06:51
2004.05.23
Тэги в Видеофайлах


14-1083635414
тихий вовочка
2004-05-04 05:50
2004.05.23
Куда исчезают все бандиты


14-1083417786
Dimman
2004-05-01 17:23
2004.05.23
Kylix виснет после компиляции


11-1068856196
Ciber SLasH
2003-11-15 03:29
2004.05.23
Подмена модулей


14-1083343974
Thor
2004-04-30 20:52
2004.05.23
C# и файлы от C++