超簡單的大數進製轉換總結

2021-10-05 06:28:51 字數 1026 閱讀 8830

給一道nk的例題

通常我們有可能採取,先將十進位制轉化為二進位制,然後按位求和再轉化為十進位制的方法,但是按位求和又需要用到大數加法和大數乘法,非常不方便,其實進製轉化,從m進製,轉化到n進製我們可以統一有一種形式進行,10進製轉2進製,我們可以除2取餘法,2進製轉化為十進位制,我們同樣可以除2取餘法,具體函式如下,只要稍微加上》10的情況,該函式可以完成任意進製之間的轉化。

//將n進製的s轉化為m進製

string convert

(int n, string s,

int m)

while

(s.size()

>

0&& s[0]

=='0'

) s = s.

substr(1

);if(mod !=

0)r.

push_back

(mod +

'0')

;else r.

push_back

('0');

}return r;

}

這道題的題解

//將n進製的s轉化為m進製

string convert

(int n, string s,

int m)

while

(s.size()

>

0&& s[0]

=='0'

) s = s.

substr(1

);if(mod !=

0)r.

push_back

(mod +

'0')

;else r.

push_back

('0');

}return r;

}int

main()

}

大數進製轉換

對於數值不是很大可以直接表示的數,以求10進製數11的2進製表示為例,我們可以使用如下的方法直接進行進製轉換 但是對於較大的數如1000位的數 數字有1000個,不是1000位元組 我們無法直接表示,因此不能直接得出,但是我們可以將上述過程分解。觀察上述運算,其實是經過了4次除法 11 2,5 2,...

大數進製轉換

進製轉換的一些筆記,由淺入深,通過複習得到的一些感悟,寫寫 先寫個最簡單的,十進位制轉二進位制 北郵機試 大家都知道,資料在計算機裡中儲存是以二進位制的形式儲存的。有一天,小明學了c語言之後,他想知道乙個型別為unsigned int 型別的數字,儲存在計算機中的二進位制串是什麼樣子的。你能幫幫小明...

「大」資料的進製轉換

將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 每行輸出對應的二進位制數。985211 1126 1111011001 11010011 10001100110 由...