如何把十进制数 (long 型)分别以二进制和十六进制形式输出
程序员文章站
2022-07-15 08:02:22
...
如何把十进制数 (long 型)分别以二进制和十六进制形式输出
分析与解答:
Python 的左移 N 位代表乘以 2 的 N 次方,右移代表除以 2 的 N 次方。因此先将数值右移 1位,得到除以 2 的 1 次方(整除)后的数值 b,如 10 除以 2 的 0 次方,得到 b=lO;再取 b整除 2后的余数 0,即二进制的最后一位,以此类推,得到 10转换 2进制的结果 1010: 二 进制的位数有 64 位,以位数为上限,对输入的 10 进制数字进行循环转换操作,当循环达 64 次时终止,示例代码如下:
def inttobinary(n):
hexNum=8*8
bit=[]
for i in range(hexNum):
b=n>>i
c,d=divmod(b,2)
bit.append(str(d))
return ''.join(bit[::-1])
inttobinary(10)
def inttohex(s):
hexs=''
remainder=0
while s!=0:
remainder=s%16
if remainder<10:
hexs=str(remainder+int('0'))+hexs
else:
hexs=str(remainder-10+ord('A'))+hexs
s=s>>4
return chr(int(hexs))
inttohex(10)
上一篇: java 方法修饰符
下一篇: python编写一个数学小问题