首页 » 编程 » Python基础 » 正文

三元运算与16进制转换

Python学习日记-day17


三元运算

固定格式,如下:

>>> a = 3
>>> b = 5
>>> c = a if a < b else b   #如果a<b 则c=a,否则c=b
>>> c
3
>>>
>>> c = a if a > b else (666 if 3<5 else 9)    #如果a>b 则c=a,否则执行后面括号里的如果3<5 则c=666 否则c=9
>>> c
666
>>>


十六进制转换

八进制:

英文缩写为oct ,python中可通过oct()转为八进制

八进制.png


十六进制

英文缩写为hex,python中可通过hex()转为十六进制

十六进制.png


十六进制的表示由 0123456789ABCDEF 进行表示

二进制到16进制转换请参考 http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1


16位数表示方法:

16位数表示方法.png


16进制与二进制对应关系:

16进制与二进制对应关系.png


二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位,如图3所示:

图3.png


组分好以后,对照二进制与十六进制数的对应表(如图2中所示),将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变哦,最后得到的就是十六进制数哦,如图4所示。

图4.png


注意16进制的表示法,用字母H后缀表示,比如BH就表示16进制数11;也可以用0X前缀表示,比如0X23就是16进制的23.直观表示法如图5所示。

图5.png


这里需要注意的是,在向左(或向右)取四位时,取到最高位(最低位)如果无法凑足四位,就可以在小数点的最左边(或最右边)补0,进行换算,如图6所示。

图6.png


下面看看将16进制转为二进制,反过来啦,方法就是一分四,即一个十六进制数分成四个二进制数,用四位二进制按权相加,最后得到二进制,小数点依旧就可以啦。如图7所示。

图7.png



例子:将十进制数字 168 转换为十六进制

首先将十进制转为二进制,再转为十六进制

             128       64       32       16       8       4       2        1

二进制        1        0        1        0       1        0       0       0

十六进制    ------------- a -------------      ------------- 8 ------------   a8

再根据图5的表示规则,结果为:0xa8


用 hex(168)测试得到相同结果:

168.png





发表评论

验证码加载中....