数字进制转换

二进制 八进制 十六进制转换为十进制数字

## hex 十六进制转换为十进制
$number = hex("0xfff8");
$number = hex("fff8");
## oct 将0b开头的按照二进制转换为十进制
## oct 将0开头的按照八进制转换为十进制
## oct 将0x开头的按照十六进制转换为十进制
print oct "0b11011";
print oct "0775";
print oct "0x2e3f";
print oct "0775ff"; ## 字符串尾的'ff'被过滤

各种进制的相互转换

perl使用sprintf函数格式化字符串并返回.
printf格式化字符串并输出到默认句柄或指定句柄.

sprintf FORMAT, LIST
printf FORMAT, LIST
printf FILEHANDLE FROMAT, LIST

sprintf用于转换数字的格式,且能获取转换后的值

字段 含义
%b 无符号整数,二进制
%e 浮点数,采用科学计数法,使用e
%o 无符号整数,八进制
%x 无符号整数,十六进制
## e.g.
print sprintf "%x", 35;  ## 23
printf "%08b", 011;     ## 00001001 八进制->二进制
printf "%08b", 11;      ## 00001011 十进制->二进制
printf "%08b", 0x11;    ## 00010001 十六进制->二进制

你可能感兴趣的:(perl)