Всем привет! может быть есть функция в php похожая на arduino map() ? суть в том что из диапазона чисел например 0..255, можно управлять диапазоном 0..65535, т.е. из 8 бит, управлять 16 битным числом, например $x=127 т.е. $result=(map($x, 0, 255, 0, 65535)) == $result=32767; чтоб велосипед не изобретать, может есть что то подобное?
Вспоминаем школу - наклонная характеристика map(value, fromLow, fromHigh, toLow, toHigh) Функция пропорционально переносит значение (value) из текущего диапазона значений (fromLow .. fromHigh) в новый диапазон (toLow .. toHigh), заданный параметрами. Функция map() не ограничивает значение рамками диапазона, как это делает функция constrain(). Contrain() может быть использован до или после вызова map(), если необходимо ограничить допустимые значения заданным диапазоном. Обратите внимание, что "нижняя граница" может быть как меньше, так и больше "верхней границы". Это может быть использовано для того чтобы "перевернуть" диапазон: y = map(x, 1, 50, 50, 1); Возможно использование отрицательных значений: y = map(x, 1, 50, 50, -100); Функция map() оперирует целыми числами. При пропорциональном переносе дробная часть не округляется по правилами, а просто отбрасывается. Параметры value: значение для переноса fromLow: нижняя граница текущего диапазона fromHigh: верхняя граница текущего диапазона toLow: нижняя граница нового диапазона, в который переноситься значение toHigh: верхняя граница нового диапазона Возвращаемое значение Значение в новом диапазоне
Простите, вы это все в адруино пишете, а тут пых. потому и прошу на "нашем" языке спрашивать. И, например я, не понимаю, что означает перенос из одного в другой диапазоны. но, эт оно? PHP: function map($value, $fromLow, $fromHigh, $toLow, $toHigh) { $fromRange = $fromHigh - $fromLow; $toRange = $toHigh - $toLow; $scaleFactor = $toRange / $fromRange; // Re-zero the value within the from range $tmpValue = $value - $fromLow; // Rescale the value to the to range $tmpValue *= $scaleFactor; // Re-zero back to the to range return $tmpValue + $toLow; } Спойлер: Ссылко http://stackoverflow.com/questions/7742959/php-map-a-value-using-fromrange-and-torange