二进制:计算机原理中最基本的概念,作为组成计算机最基本部件的逻辑门电路,其输入和输出只包含0和1。
进制:用多少个字符来表示整数
十进制:用0~9十个数字字符来表示,二进制用0、1两个字符
十进制转化为二进制:
对于十进制的数除以2,并依次记录余数,每次得到的余数就是由低到高的二进制位
”除以2“的过程,得到的余数是从低到高的次序,而输出则是从高到低,所以需要用到栈来进行次序反转
def convertToBaseN(num: int, base: int):
s = []
digit = '0123456789ABCDEF'
if num > 0:
while num > 0:
rem = num % base
s.append(rem)
num = num // base
newstring = ""
while len(s) > 0:
newstring = newstring + digit[s.pop()]
elif num < 0:
num = abs(num)
while num > 0:
rem = num % base
s.append(rem)
num = num // base
newstring = "-"
while len(s) > 0:
newstring = newstring + digit[s.pop()]
else:
return "0"
return newstring
网友评论