Вы не зашли.
Главная » PHP » Корзина функций.
#1. TLENS Off (14)
Moderator
2011.11.23 17:05
Предлагаю здесь собирать всякие полезные функции.
Есть много функций которые писал и после ненадобности просто удалял или терял.
#2. POFIGISST Off (6)
Участник
2011.11.23 17:05
Полезная тема,а эксклюзивные скрипты сюда можно выкладывать?)
#3. TLENS Off (14)
Moderator
2011.11.23 17:05
Ну и пару свежо-написанных.
Вчера полазил по гуглу, не нашел функции для преобразования с двоичной системы в десятичную и наоборот.
Вот решил написать. Плюс моя функция вычитания числа в степень используя рекурсию.
Если есть погрешности прошу кинуть в меня камнем.
Код:
span style="color: #0000BB"><?php/** * @autor TLENS * @return int * @description "вычитания числа в степень"**/function power ($b, $n, $t = 1) { if($n > 0) return power($b, --$n, $t * $b); return $t;}/** * @autor TLENS * @return int * @description "перевод с двоичного исчисления в десятичное"**/function bin_to_dec($a) { $r = 0; $a = (string)$a; $c = strlen($a) - 1; for ($i = 0; $c >= 0; $c --) $r += (($a[$i++]) ? 1 : 0) * 2 << ($i - 1); return $r;}/** * @autor TLENS * @return string * @description "перевод с десятичного исчисления в двоичное"**/function dec_to_bin($int) { $r = ''; do { $r = $r . $int % 2; } while (($int >>= 1) >= 1); return $r;}$i = 101;echo $i . '&nbsp;' . bin_to_dec($i) . '<br />'; // 101 5
#4. Gemorroj Off (107)
Administrator
2011.11.23 21:09
Код:
<xsl:template name="split">
<xsl:param name="value"/>
<xsl:param name="index" select="1"/>
<xsl:param name="maxLen" select="512"/>
<xsl:param name="maxNodes" select="5"/>
<xsl:if test="string-length($value) &gt; 0 and $index &lt;= $maxNodes">
<E4440>
<xsl:value-of select="substring($value, 1, $maxLen)"/>
</E4440>
<xsl:call-template name="split">
<xsl:with-param name="value" select="substring($value, $maxLen)"/>
<xsl:with-param name="index" select="$index + 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
)))
#5. tipsun Off (19)
Moderator
2011.11.23 21:09
TLENS, я извиняюсь, а стандартной функцией pow(), для возведения числа в степень, почему не воспользовался?
Или я не понял сути.

Код:
span style="color: #0000BB"><?php/** * @autor TLENS * @return int * @description "вычитания числа в степень"**/function power ($b, $n, $t = 1) { if($n > 0) return power($b, --$n, $t * $b); return $t;}?>
Отредактировано tipsun (2011.11.23 21:09)
#6. TLENS Off (14)
Moderator
2011.11.23 21:09
Ну это мое домашнее задание на Си. Просто интересный пример, можно взять как шаблон для вычета платежей по кредиту.
#7. tipsun Off (19)
Moderator
2011.11.23 21:09
TLENS, а вообще умно придуманно smile
Рекурсивно вызывается до тех пор, пока n не нарушит условие.
#8. TLENS Off (14)
Moderator
2011.11.23 22:10
Gemorroj Что это? Я в xsl еще не влазил.
#9. Gemorroj Off (107)
Administrator
2011.11.23 22:10
TLENS, что-то вроде str_split
#10. TLENS Off (14)
Moderator
2011.11.24 03:03
tipsun пытаюсь толком вникнуть в биты (рою всевозможные статьи по поводу). Смотри замену.
Код:
span style="color: #0000BB"><?phpfunction power ($b, $n) { return $b << ($n - 1);}
Считаю это самая быстрая функция так как просто происходит сдвиг бита.
for ($i = 0; $i < 10; $i ++)
    power (1272, 73739);
Разница 0.3536 и 0.0001
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.019 s