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

2021-07-15 09:35:19 字數 1534 閱讀 1479

從十進位制轉其他進製是非常簡單的,無非是分為兩步:

將這個數對要轉換的進製數相除,取餘數,如num%8,繼續拿著除之後的整數部分對進製數取餘數,直到整數部分為0為止

將餘數倒序輸出,即可得到結果

num = input('input an int number: ')

t = input('input type(2,8,16): ')

def trans(num):

m = 0

lst =

if t==16:

standar_result = hex(num)

result = '(16)'

elif t==8:

standar_result = oct(num)

result = '(8)'

elif t==2:

standar_result = bin(num)

result = '(2)'

while(num!=0):

q = num%t

num = num/t

m+=1

lst = lst[::-1]#倒序

foritem

in lst:#十六進製制10以上的數要轉為字母

ifitem ==10:

item = 'a'

elif item ==11:

item = 'b'

elif item ==12:

item = 'c'

elif item ==13:

item = 'd'

elif item ==14:

item = 'e'

elif item ==15:

item = 'f'

s = str(item)

result+=s

return

result,standar_result

print 'result=%s\nstandar_result=%s'%(trans(num))

執行:

例1.

input an int number: 543

input

type

(2,8,16): 8

result=(8)1037

standar_result=01037

例2.

input an int number: 543

input

type

(2,8,16): 16

result=(16)21f

standar_result=0x21f

例3.

input an int number:  431

input

type

(2,8,16): 2

result=(2)110101111

standar_result=0b110101111

python實現二,八,十六進製制與十進位制之間的轉換

1 把不同進製轉化為十進位制 例如,把16進製制的0xd32c轉為十進位制 把2進製的0b10轉為十進位制 int 0b10 2 2 2 把不同進製轉化為二進位制 例題 計算表示式的值,要求如下 1.各個表示式不一定都是十進位制數字,也有八進位制 0開頭 十六進製制 0x開頭的 2.表示式中運算子包...

十進位制轉二 八 十六進製制的字串

這是我自己寫的 有問題希望指出。沒問題希望誇我幾句,我會繼續努力的,哈哈。十進位制轉二進位制 1 class dectobin 214 binstr dec 0?binstr dec 0?0 binstr 1516 system.out.println binstr 17 18 十進位制轉八進位制 ...

C語言實現十進位制轉二,八,十六進製制(棧的思想)

include stdio.h define stacksize 100 假定預分配的棧空間最多為100個元素 typedef int datatype 假定棧元素的資料型別為整數 typedef structseqstack 置棧空 void initial seqstack s 判棧空 int ...