项目需要,随笔记录一下。以下函数可以将十进制数字转换为二进制字符
#十进制转换成二进制(8位二进制)
#参数说明:$dec:十进制数,$str二进制字符
sub dec_to_bin($$){
my $dec = shift;
my $str = shift;
if($dec < 2){
$str = $dec.$str;
if(length($str) < 8){
my $len = 8-length($str);
for (my $i = 0; $i < $len; $i++) {
$str = '0'.$str;
}
}
return $str;
}
my $mod = $dec % 2;
$dec = ($dec - $mod) / 2;
$str = $mod.$str;
return &dec_to_bin($dec,$str);
}
#函数调用
my $str = &dec_to_bin(20); #输出00010100