命令行进制转换
1. shell内置的算术扩展功能(Shell expansion- Bash Guide for Beginners)
16进制->10进制:
# echo $((0xFACE)) 64206不区分大小写
# echo $((0xface)) 64206
或写成"BASE#N"的形式
# echo $((16#FACE)) 64206
10进制->16进制:
好像不行
2. coreutils的printf命令
16进制->10进制:
# printf '%d\n' 0xFACE 64206格式语法如同C
# printf '%08d\n' 0xFACE 64206
10进制->16进制:
# printf '%#08X\n' 64206 0X00FACE
3. bc(Basic Calculator)计算器
16进制->10进制:
# echo 'ibase=16;obase=A;FACE' | bc 64206第二个参数obase必须是16进制表示的, 大写的
要转换的数值也必须是大写的
10进制->16进制:
# echo 'ibase=10;obase=16;64206'|bc FACE
4.awk脚本
16进制->10进制:
用printf函数转
# awk 'BEGIN {printf "%d\n", 0xFACE}' 64206或用non-decimal-data选项
# echo 0xFACE| awk --non-decimal-data '{print $1}' 64206
10进制->16进制:
# awk 'BEGIN {printf "%#08X\n", 64206}' 0X00FACE
5. dc(Digital Calculator)计算器
16进制->10进制:
# echo "16i FACE p"|dc 64206
10进制->16进制:
# echo "16o 64206 p" | dc FACE
6. perl脚本
16进制->10进制:
# perl -e 'printf ("%d\n", 0xFACE)' 64206带上输出格式
# perl -e 'printf ("%08d\n", 0xFACE)' 00064206
10进制->16进制:
# perl -e 'printf ("%#08X\n", 64206)' 0X00FACE
7. python
16进制->10进制:
# python -c 'print "%d" % int("0xFACE",16)' 64206格式输出:
# python -c 'print "%08d" % int("0xFACE",16)' 00064206
10进制->16进制:
# python -c 'print "%#08X" % 64206' 0X00FACE
-fin-
No comments:
Post a Comment