Linux培训
达内IT学院

400-996-5531

Python实现十六进制与十进制

  • 发布:Linux培训
  • 来源:网络
  • 时间:2015-07-09 11:02

起源于看到《深入理解计算机原理》里面的用于转化16进制数的一小段perl脚本,于是我就写了一个Python来实现十六进制与十进制之间的转换。

主要用到的东西有:

1. int(x[, base]) -> integer #这是一个builtin的类

Convert a string or number to an integer, if possible.

如:int(“0×11″, 16)就可以将十六进制的”0×11″转化为10进制的数字,再如int(“100011″, 2)可以转化二进制的数为十进制整数。

2. hex(number) -> string #将一个整数转化为一个十六进制的字符串

Return the hexadecimal representation of an integer or long integer.

3. sys.argv

The list of command line arguments passed to a Python script.

for i in sys.argv[1:] 即可遍历所有的命令行参数(除运行的脚本名之外)。

代码如下:的转换

!/usr/bin/python3'''Created on Apr 5, 2012 @author: Jay Ren@module: hex_dec@note: Translation between hexadecimal and decimal numbers on the commandline arguments.'''importsysimportredef hex_to_dec(hex_num):
        print("{} = {}".format(hex_num, int(hex_num, 16)))def dec_to_hex(dec_num):
        print("{} = {}".format(hex(int(dec_num, 10)), dec_num))if __name__ == '__main__':
        for i insys.argv[1:]:
                ifre.match('^0x.*', i):
                        hex_to_dec(i)else:
                        dec_to_hex(i)

执行效果如下:

View Code BASH

master@jay-intel:~/workspace/py2012_Q2/src$ ./hex_dec.py 134 0x123 454433 0xffffffff
0x86 = 134
0x123 = 291
0x1c6 = 454
0x1b1 = 433
0xffffffff = 4294967295

其中等号左边是十六进制的数值,等号右边是对应的十进制数值。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:python 中文乱码问题
下一篇:Python socket实现文件传输的服务端与客户端

关于 python 中的 setup.py

Python 程序员的 10 个常见错误

使用 Python 创建你自己的 Shell (上)

2015年出现的十大流行 Python 库

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省