Добрый день. Хочу уменьшить длину строки, которая содержит массив чисел с плавающей запятой. В массиве около 200 - 300 чисел. Все числа одного порядка. Я определяю этот порядок и далее хочу записать все числа в виде последовательности пяти цифр (мне достаточно такой точности). Например, есть числа 1.367892e8; 5.45678921e8; 2.43216789e8 и т.д. я хочу получить следующее: 8 (порядок этих чисел); 13679; 54568; 24322 и т.д. Вот пока не пойму, как это сделать - может, сначала записать все числа в соответствующем порядке - то есть 13679e4; 54568e4; 24322e4, а затем убрать порядок? Если да, то как это сделать средствами PHP с максимальной производительностью? Или просто умножать все числа на 10 в степени порядок - 4? То есть в данном примере все числа умножить на 10^(8-4)=10^4=10000? Ведь порядок мне известен заранее? Или существуют более удобные варианты? Главный фактор - минимальное время операции. Заранее большое спасибо за помошь.
Если порядок один, конечно, умножьте и отсеките дробную часть. Только нафига эта экономия на спичках?
Спасибо. Это элемент серверного кода программы. Генерируется строка, которую подгружает приложение на стороне клиента (на смартфоне). Цель - максимальное снижение времени после нажатия кнопки на экране смартфона, после чего происходит запрос на сервер, и получения данных. Поэтому хочу максимально уменьшить длину этой строки, ведь один лишний символ - это один байт. И чем больше байт сэкономить, тем быстрее загрузится строка и тем самым повысится отзывчивость приложения (имхо). Может, конечно, и не сильно повысится, но хочется сделать максимум из того, что можно сделать. Здесь конечно еще вопрос - умножая все числа на 10000, не увеличу ли я время вычислений на серверной части на величину большую той, которую получу уменьшением времени загрузки строки, - ведь тогда получится даже хуже.
200-300 умножений погоды для скорости на современном оборудовании не сделают. На сервере наиболее затратная операция обычно - запрос к базе данных
А как быстрее всего число умножить на 10 в степени? Или как быстро изменить порядок числа с плавающей запятой - например, отнять 4 от порядка?