|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!劈头于看到《深切了解盘算机道理》内里的用于转化16进制数的一小段perl剧本,因而我就写了一个Python来完成十六进制与十进制之间的转换。
次要用到的器材有:
1.int(x[,base])->integer#这是一个builtin的类
Convertastringornumbertoaninteger,ifpossible.
如:int(“0×11″,16)就能够将十六进制的”0×11″转化为10进制的数字,再如int(“100011″,2)能够转化二进制的数为十进制整数。
2.hex(number)->string#将一个整数转化为一个十六进制的字符串
Returnthehexadecimalrepresentationofanintegerorlonginteger.
3.sys.argv
ThelistofcommandlineargumentspassedtoaPythonscript.
foriinsys.argv[1:]便可遍历一切的下令行参数(除运转的剧本名以外)。
代码以下:- #!/usr/bin/python3CreatedonApr5,2012@author:JayRen@module:hex_dec@note:Translationbetweenhexadecimalanddecimalnumbersonthecommandlinearguments.importsysimportredefhex_to_dec(hex_num):print("{}={}".format(hex_num,int(hex_num,16)))defdec_to_hex(dec_num):print("{}={}".format(hex(int(dec_num,10)),dec_num))if__name__==__main__:foriinsys.argv[1:]:ifre.match(^0x.*,i):hex_to_dec(i)else:dec_to_hex(i)
复制代码 实行效果以下:
ViewCodeBASH
- master@jay-intel:~/workspace/py2012_Q2/src$./hex_dec.py1340x1234544330xffffffff0x86=1340x123=2910x1c6=4540x1b1=4330xffffffff=4294967295
复制代码
个中等号右边是十六进制的数值,等号右侧是对应的十进制数值。
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|