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

2021-08-31 01:38:54 字數 962 閱讀 9337

1、把不同進製轉化為十進位制

例如, 把16進製制的0xd32c轉為十進位制

把2進製的0b10轉為十進位制

int(『0b10』, 2) # 2

2、把不同進製轉化為二進位制

例題:計算表示式的值,要求如下:

1.各個表示式不一定都是十進位制數字,也有八進位制(0開頭)、十六進製制(0x開頭的)

2.表示式中運算子包括+,-運算。

輸入:02245+654+0xd32c

輸出:-52217

首先這道題我們首先想到的是把不同的進製同一。這裡輸入的公示可以切片獲得字串。對於字串可以把不同進製的數字變成十進位制。實現步驟:

1、切片把三種資料拿出來

2、把資料型別轉換統一

3、遍歷計算字串判斷加減操作

4、根據遍歷情況進行操作:

import re

def fun(eq):

ret = re.split('[+,-]',eq)

li = [ ]

for e in ret:

if e[0] == '0':

if e[1] == 'x':

e = int(e, 16)

else:

e = int(e, 8)

else:

e = int(e)

j = 0

val = li[j]

for i in range(len(eq)-1):

if eq[i] == '+':

val = val + li[j+1]

if eq[i] == '-'

val = val - li[j+1]

return val

eq = input('輸入')

print(fun(eq))

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

從十進位制轉其他進製是非常簡單的,無非是分為兩步 將這個數對要轉換的進製數相除,取餘數,如num 8,繼續拿著除之後的整數部分對進製數取餘數,直到整數部分為0為止 將餘數倒序輸出,即可得到結果 num input input an int number t input input type 2,8,...

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

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

十進位制轉化為二,八,十六進製製用棧實現(c語言編)

include include define stack init size 100 儲存空間初始分配量 define stackincrrment 10 儲存空間增量 define ok 1 define error 0 define status int typedef struct spsta...