數值轉換的原理是整除取餘,但是計算得出的順序和輸出的順序是相反的
即先算出的結果在最低位,
此時就需要使用棧來儲存運算結果
def
transform
(x:int
,a:int):
''' 輸入要轉換的數字以及目標進製輸出轉換後的字串
:param x: 要轉換的數字
:param a: 進製
:return: 字串
'''assert
isinstance
(a,int
)and a >
1assert
isinstance
(x,int
) ret =
while x >= a:
x = x//a
str1 =
''for i in
range
(len
(ret)):
str1 +=
str(ret[-1
*(i+1)
])return str1
a = transform(
100,2)
print
(a)#1100100
順序棧實現數制轉換
include include define stacksize 100 假定預分配的棧空間最多為100個元素 typedef int datatype 應將順序棧的datatype定義改為整型 typedef struct seqstack void main void initstack seq...
數制轉換,python實現
在學數電的時候用到的 數碼用於表示數量的大小,其規則為 數制 數碼用於表示不同事物或事物的不同狀態,其規則為碼制 數字 r進製 的按權展開式即為 d i 1n ki r iki 0,1 r d sum n k i r i quad quad k i in 0,1 r d i 1 n ki ri ki...
用棧實現數制轉換(java)
十進位制數n和其他d進製數的轉換時計算機實現計算的基本問題,其解決方法很多,其中乙個簡單的演算法基於以下原理 n n div d d n mod d 例如 十進位制數 1348 的八進位制數為 2504 運算過程如下 nn div 8 n mod 8 1348168 4 16821 0 212 5 ...