小猿圈讲解Python之十六进位制运算

十六进位制在数学中是一种逢16进1的进位制,作为计算机中资料的表达方式,通常用数字0-9和字母A-F表示,其中A-F表示10-15,因此这些符号又被称为十六进位制数字。
中国古代曾经在重量单位中使用过十六进位制,像将16两规定为1斤,固有半斤八两之说。直到上世纪60年代,我国才统一衡制,取消一斤十六两制,采用十进位制。
可能有的小伙伴对十六进位制有些许印象,但又不知道其原理,简单举个例子,十进位制的57,二进位制是111001,而16进位制是39。
十六进位制的应用
目前,重量单位虽取消了十六进位制,但它广泛应用于计算机领域。需要注意一点,不同的电脑系统和程式语言在表达十六进位制数值时也存在差异。如Ada与VHDL用所基于的“数字引证”把16进位制数包起来,像“16#5A3#”;C语言、C++、Shell、Python、Java及其他相近的语言使用字首“0x”表示,像“0x5A3”,其中“x”代表十六进位制;十六进位制转义序列可以使用任意十六进位制数字表示,直至不是十六进位制为止。此外,在颜色表、mac地址、字元编码和网页设计方面均使用十六进位制,像HTML和CSS使用十六进位制的表示网页上的特定颜色,红色阴影可表示为#EE093F。
十六进位制算法
现在小猿为大家简单普及一下十六进位制算法,即逢16进1,每一位都可以是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F不同的数。常见十六进位制转十进位制,16进位制数的地位权值为16的0次方,第1位权值为16的1次方,第N位权值为16的N次方,像2AF5换算为10进位制,那么竖式计算则为:
第0位:5 * 16^0 = 5
第1位:F * 16^1 = 240
第2位:A * 16^2= 2560
……
得出的结果是10997。
7692的十六进位制是多少?
首先,你要知道十六进位制的转化格式。
7692除以16,商为480,余数为12;接着重复之前的步骤,480除以16,商为30,余数为0;30除以16,商为1,余数为14;1除以16,商为0,余数为1,换算中商为0时转换结束。计算得到的余数依次是12、0、14、1。
还记得文章最开始说的吗?
十六进位制用数字和字母表示,十进位制中的0~9对应十六进位制0~9,十进位制中的10~15对应十六进位制中的A~F,十进位制中的余数在16进制中分别对应C、0、E、1。自下往上读余数依次是1、E、0、C,至此十进位制的7692等于十六进位制1E0C,在1E0C后加上H就代表“1E0CH”是一个十六进位制数。
十六进位制转十进位制口诀
16转10一峘一拾六
二峘三拾二
三峘四拾八
四峘六拾四
五峘八拾
六峘九拾六
七峘一百一拾二
八峘一百二拾八
九峘一百四十四
十峘一百六
屲峘一百七拾六
亗峘一百九拾二
岌峘二百零八
岄峘二百二拾四
岪峘二百四