Forum Webscript.Ru
Программирование => Perl => Тема начата: DartSidius от 18 Октября 2007, 09:52:53
-
Есть например двочика такая 00111001000000000000
нужно её запаковать в более компактный вид..например в число....кто-нить знает как?
-
perldoc -f pack
perldoc -f unpack
-
0b00111001000000000000 == 233472
-
Я в курсе сколько это будет ) . . .
про пак и анпак...они ж вроде не это делают....они ж запаковывают и распаковывают бинарные данные...
-
число и есть, а вам что надо было?
-
Есть строка 0000111001000000000000 . . . или же бинарные данные в которых эта строка . . . считываю я это так unpack("X20",$bin_data) . . . а нужно получить тупо число в dec 233472
думал может эмо можно как-нить стандартными средствами . . . щя пока реализовал так:
##################################################
sub bin2dec {
my @bin = split(//,"$_[0]");
my $dec = 0;
my $ves_count = 1;
for($i=$#bin;$i >= 0; $i--) {
if($bin[$i] == 1) {
$dec+=$ves_count;
}
$ves_count=$ves_count*2;
}
return $dec;
}
-
вы путаете число и его внешнее представление
-
ок :)
тему мона закрывать