二進位制 八進位制 十進位制 十六進製制之間進行相互轉換

2022-01-31 14:14:43 字數 1914 閱讀 1713

#coding = utf-8

'''created on 2023年5月28日 

二進位制、八進位制、十進位制、十六進製制之間進行相互轉換

'''class nsc():

hex_num=

num_hex=

'''二進位制轉十進位制'''

def bin2dec(self,num):

#根據二進位制的位數來計算

result=0

for i in str(num):

result=result*2+int(i) 

return result

'''二進位制轉八進位制'''

def bin2oct(self,num):

result = ''

temp=list(str(num))

insert=3-len(temp)%3

while insert and insert !=3:

temp.insert(0, 0)

insert-=1

while temp:

result=str(int(temp.pop())*1+int(temp.pop())*2+int(temp.pop())*4)+result

return int(result)

'''二進位制轉十六進製制'''

def bin2hex(self,num):

result = ''

temp=list(str(num))

insert=4-len(temp)%4

while insert and insert!=4:

insert-=1

temp.insert(0, 0)

while temp:

#todo 格式化輸出

x=int(temp.pop())*1+int(temp.pop())*2+int(temp.pop())*4+int(temp.pop())*8

result=self.hex_num[x]+result

return result

'''十進位制轉二進位制'''

def dec2bin(self,num):

#除2取餘,逆序排列

result=''

temp=

while num:

num=num//2

while temp:

result+=str(temp.pop())

return int(result)

'''十進位制轉八進位制'''

def dec2oct(self,num):

return self.bin2oct(self.dec2bin(num))

'''十進位制轉十六進製制'''

def dec2hex(self,num):

return self.bin2hex(self.dec2bin(num))

'''十六進製制轉二進位制'''

def hex2bin(self,num):

hex_n=list(str(num))

result=''

for i in hex_n:

result+=str(self.dec2bin(self.num_hex[i]))

return result

'''十六進製制轉八進位制'''

def hex2oct(self,num):

return self.bin2oct(self.hex2bin(num))

'''十六進製制轉十進位制'''

def hex2dec(self,num):

return self.bin2dec(self.hex2bin(num))

if __name__=='__main__':

nc=nsc()

print(nc.hex2dec('fffee'))

二進位制 八進位制 八進位制 十進位制 十六進製制的介紹

數字在計算機中表現的方式常見的有四種 十進位制 二進位制 八進位制 十六進製制 1.十進位制 1 基數 0,1,2,3,4,5,6,7,8,9 2 進製 逢10進1 3 位權 10的n次方 n從低位到高位從0開始一次增加 1231 110 3 210 2 310 1 110 0 4 程式中的表示方式...

二進位制 八進位制 十進位制 十六進製制

進製 位置計數法是一種記數方式,故亦稱進製記數法 位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數 en radix 或底數,基數為n,即可稱n進製,簡稱n進製。現在最常用的是十進位制,通常使用10個阿拉伯數字0 9進行記數。對於任何乙個數,我們可以用不同的進製來表示。比...

二進位制 八進位制 十進位制 十六進製制

制也就是進製位,對於接觸過電腦的人來說應該都不陌生,我們常用的進製包括 二進位制 八進位制 十進位制與十六進製制,它們之間區別在於數運算時是逢幾進一位。比如二進位制是逢2進一位,十進位制也就是我們常用的0 9是逢10進一位。第一 十進位制轉二進位制 十進位制數除2取餘法,即十進位制數除2,餘數為權位...