- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
/**
* Конвертирует шестнадцатеричное число в десятичное
*
* @param string $hex шестнадцатиричное число
* @return string десятичное число
*/
private static function convertHexToBase10(string $hex): string
{
$base10result = 0;
foreach (str_split(trim($hex)) as $hexPart) {
$base10 = base_convert($hexPart, 16, 10);
$base10result = gmp_add(gmp_mul($base10result, 16), $base10);
}
return $base10result;
}
Dummy00001 23.03.2017 20:27 # −5
j123123 23.03.2017 23:40 # −5
anei 24.03.2017 00:34 # −6
Примерно так:
В стародавние времена админил я потихоньку в одной конторе, заодно и сайт говнокодил. При переезде админ провайдера выдал нам ip, маску (маска была очень узкая, там буквально пара бит оставалась на идентификатор узла) и адрес шлюза. Вбиваю - интернета нет, шлюз не пингуется. Накладываю маску на наш айпишник и на айпи шлюза, и обнаруживаю, что они с такой маской вообще не в одной подсети. Пришлось звонить провайдеру, долго и нудно объяснять, как работает маска подсети, админ не сразу допёр, в чём проблема.
Вот такая админская версия говнокода.
gost 24.03.2017 13:40 # −7
barop 24.03.2017 14:28 # −8
Спасибо что рассказал нам про cidr, мы не знали
Fike 24.03.2017 00:51 # −7
это плохой знак, что я это знаю, да?
Fike 24.03.2017 00:58 # −7
http://php.net/manual/ru/function.hexdec.php
anei 24.03.2017 09:19 # −7
Почему, кстати?
Fike 24.03.2017 09:51 # −6
anei 24.03.2017 11:08 # −8
doktor 24.03.2017 13:55 # −10
Теперь полей ее расплавленной селитрой.
dm_fomenok 24.03.2017 21:26 # −7
# * @return string десятичное число
# foreach(str_split(trim($hex)) as ...)
# $base10result = 0;
# return $base10result;
А вдруг str_split вернёт пустой итерируемый объект и функция вернёт 0 (int, а не string)?
guestinio 25.03.2017 19:19 # −7
baropinho 25.03.2017 20:26 # −7