Вы не зашли.
#1.
TLENS
Off
(14)
Moderator
2011.11.23 13:01
Предлагаю здесь собирать всякие полезные функции.
Есть много функций которые писал и после ненадобности просто удалял или терял.
Полезная тема,а эксклюзивные скрипты сюда можно выкладывать?)
#3.
TLENS
Off
(14)
Moderator
2011.11.23 13:01
Ну и пару свежо-написанных.
Вчера полазил по гуглу, не нашел функции для преобразования с двоичной системы в десятичную и наоборот.
Вот решил написать. Плюс моя функция вычитания числа в степень используя рекурсию.
Если есть погрешности прошу кинуть в меня камнем.
Код:
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 . ' ' . bin_to_dec($i) . '<br />'; // 101 5 |
Код:
<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) > 0 and $index <= $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 17:05
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 17:05)
#6.
TLENS
Off
(14)
Moderator
2011.11.23 17:05
Ну это мое домашнее задание на Си. Просто интересный пример, можно взять как шаблон для вычета платежей по кредиту.
#7.
tipsun
Off
(19)
Moderator
2011.11.23 17:05
TLENS, а вообще умно придуманно

Рекурсивно вызывается до тех пор, пока
n не нарушит условие.
#8.
TLENS
Off
(14)
Moderator
2011.11.23 18:06
Gemorroj Что это? Я в xsl еще не влазил.
TLENS, что-то вроде str_split
#10.
TLENS
Off
(14)
Moderator
2011.11.23 23:11
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