演算法筆記習題 問題 C 進製轉換

2021-09-11 22:44:14 字數 539 閱讀 1111

普通10進製轉換為二進位制的方法是除數取餘法。

0位數字的十進位制數,查閱以後發現long long int型的範圍大約是10^18,不足以表示10^30。所以這題的思路是用陣列儲存這個數值,然後用陣列的方式模擬除數取餘法:

①陣列最後乙個數,就是10進製數的尾數,尾數對2取餘的值

②陣列表示的這個10進製數,不斷除以2。

例子:b存放乙個十進位制數,比如13,所以b[0-1]=,num陣列存放尾數%2值,也就是最終二進位制的倒序存放

a.13,尾數3,3%2=1,num[0]=1;

b.12告我是1,1/2=0, 由於首位是奇數,奇數不能整除2,所以低位3+10=13,讓低位這個數來除,(3+10)/2=6,

從而b陣列變成b=,再迴圈a.b, 陣列的值依次變成:

->->->,  過程中num=

所以13 = (1101)2;

下面給出**:

#include #include int main()		

return 0;

}

《演算法筆記》C 進製轉換

對於乙個p進製的數字,若要轉化為q進製,則需要兩部 第一步 將p進製的數字轉化為10進製 y a1 p n 1 a2 p n 2 an 1p an 如何實現?int x,p int y 0,pro 1 p表示進製 while x 0 將 十進位制轉換為q進製,除基取餘法 例如11轉換為2進製 首先1...

問題 C 進製轉換

長見識了呀,第一次遇到這種規模的進製轉換,嗯,又增加了不少的知識。include using namespace std define ll long long const double pi acos 1.0 const double eps 1e 8 const int maxn 100005 ...

演算法筆記(六)進製轉換

兩種情況 1 將p進製 x 轉換為q進製 資料 要分兩步走 1 將p進製數在轉化為10進製數y 十進位制數形式為 y d1d2d3d4d5d6d7.dn 同可以寫為 y d1 10 n 1 d2 10 n 2 dn 1 10 dn p進製數x為a1a2a3a4a5a6.an,類似於十進位制轉化,同可...