Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

09.03.2010, 14:10
|
|
Участник форума
Регистрация: 26.07.2008
Сообщений: 267
Провел на форуме: 1343031
Репутация:
184
|
|
Сообщение от Gifts
Для строк произвольной длинны - получился такой вот треш код:
PHP код:
$a = '79777F8084';
$b = '48454C4C4F';
function hex_sub($a,$b)
{
if (!function_exists('hex_sub_1')) {
function hex_sub_1($a,$b)
{
global $zaem;
$a = intval($a,16);
$b = intval($b,16);
if ($a < $b)
{
$out = $a - $b + 256 - $zaem;
$zaem = 1;
} else $out = $a - $b - $zaem;
return sprintf("%X", $out);
}
}
if (!is_string($a) or !is_string($b)) return false;
$out = '';
$zaem = 0;
$len = max(strlen($a),strlen($b));
$len = $len % 2 ? $len+1 : $len;
$a = str_split(str_pad($a, $len, '0', STR_PAD_LEFT), 2);
$b = str_split(str_pad($b, $len, '0', STR_PAD_LEFT), 2);
$a_part = end($a);
$b_part = end($b);
$out = hex_sub_1($a_part,$b_part);
while (($a_part = prev($a))!==false)
{
$b_part = prev($b);
$out = hex_sub_1($a_part,$b_part).$out;
}
return $out;
}
echo hex_sub($a,$b);
Спасибо, Gifts!
Да, у меня строки по 32 символа, можно еще попрошу, если есть время, посмотрите - правилньо ли я преобразовал функцию, чтобы она считала сумму, а не разность?
PHP код:
if (!function_exists('hex_add_1')) {
function hex_add_1($a,$b)
{
global $zaem;
$a = intval($a,16);
$b = intval($b,16);
if ($a+$b>255)
{
$out = $a + $b - 256 + $zaem; //bilo: $a - $b + 256 - $zaem;
$zaem = 1;
} else
{
$out = $a + $b + $zaem; //bilo: $a - $b - $zaem;
$zaem = 0; // ne bilo :)
}
return sprintf("%X", $out);
}
}
Сразу скажу, что вижу, что не пройдет обработка суммы чисел, вида FF + FF - т.е. "один в уме" в самом первом элементе массива - у меня такого не будет.
|
|
|

09.03.2010, 14:59
|
|
Познающий
Регистрация: 21.12.2009
Сообщений: 34
Провел на форуме: 124940
Репутация:
1
|
|
if ($cp == 1) {subdomain = ;"} что неправильно в этой строке?
|
|
|

09.03.2010, 15:02
|
|
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме: 6962560
Репутация:
536
|
|
if ($cp == 1) {$subdomain = '';}
|
|
|

09.03.2010, 15:05
|
|
Познающий
Регистрация: 21.12.2009
Сообщений: 34
Провел на форуме: 124940
Репутация:
1
|
|
не понял
|
|
|

09.03.2010, 15:21
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
budden в условии должно быть if ($a+$b+$zaem > 255). И лучше использовать значащие переменные, то есть $zaem назвать $overflow, например
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

09.03.2010, 15:25
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Сообщение от гаррет-тень
if ($cp == 1) {subdomain = ;"} что неправильно в этой строке?
Переменные начинаются с $
; ставится в конце сроки
Ставятся либо две двойных кавычки, либо две одинарных
Тобишь правильно
$subdomain = "";
|
|
|

09.03.2010, 15:27
|
|
Познающий
Регистрация: 21.12.2009
Сообщений: 34
Провел на форуме: 124940
Репутация:
1
|
|
спасибо) про переменную незаметил, не внимательно( недавно учить начал...
|
|
|

09.03.2010, 15:29
|
|
Участник форума
Регистрация: 26.07.2008
Сообщений: 267
Провел на форуме: 1343031
Репутация:
184
|
|
Сообщение от Gifts
budden в условии должно быть if ($a+$b+$zaem > 255). И лучше использовать значащие переменные, то есть $zaem назвать $overflow, например
Точно, большое спасибо.
|
|
|

09.03.2010, 15:32
|
|
Познающий
Регистрация: 21.12.2009
Сообщений: 34
Провел на форуме: 124940
Репутация:
1
|
|
а в таком setcookie('passwd', $_POST['passwd'], time()+(30*24*3600),
|
|
|

09.03.2010, 16:00
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Скачай редактор кода с подсветкой синтаксиса, увидиш где забываеш ковычки, скобки, как в этом случае:
PHP код:
setcookie('passwd', $_POST['passwd'], time()+(30*24*3600))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|