У меня есть число (3232251030), которое нужно перевести из десятичного в двоичное.После того, как я получил двоичный файл, мне нужно разделить 8-битный код на цифры, открывая IP-адрес.
Преобразование десятичного числа в двоичный просто:
sub dec2bin { my $str = unpack("B32", pack("N", shift)); $str =~ s/^0+(?=\d)//; # otherwise you'll get leading zeros return $str; }
sub bin2dec { return unpack("N", pack("B32", substr("0" x 32 . shift, -32))); }
e.g. $num = bin2dec('0110110'); # $num is 54 $binstr = dec2bin(54); # $binstr is 110110
Ссылка: http://www.perlmonks.org/?node_id=2664
Итак, теперь мне нужно разделить 8 цифр двоичного файла и сохранить его в числа, которые составляют IP-адрес.
$num = dec2bin('3232251030');
($ num равно "11000000 10101000 01000100 00001110"в двоичном виде)
Мне нужно разделить и сохранить каждые 8 битов "11000000 10101000 01000100 00001110" в "192.168.60.150".
Хотите получить совет?Я ищу функцию разделения для этого ..