各種進製轉換

2021-06-28 07:36:55 字數 2265 閱讀 7423

今天看到雅虎一道面試題,竟然是一道進製轉換的題,並且還不允許用printf()自帶的函式庫來做,所以就整理一下,以備不時之需;

十進位制轉換為其他進製:(十進位制轉換為其他進製可使用printf函式直接轉換    庫函式使用:

(1)十進位制轉化為八進位制

使用庫函式

int main()

自己**:(遞迴方法)

#include #include #include using namespace std;

string str="";

string fun(int n)

return str;

}int main()

(2)十進位制轉十六進製制

使用庫函式

int main()

自己**:

採用的遞迴方法

#include #include #include using namespace std;

string str="";

char exchenge(int n)

string fun(int n)

return str;

}int main()

(二)其他進製轉十進位制

(1)八進位制轉十進位制:

#include #include using namespace std;

int main()

(2)十六進製制轉為十進位制(與上同)

#include #include using namespace std;

int main()

自己**:

#include #include #include #include using namespace std;

int main()

printf("%lld",ch_10);

return 0;

}

注:本**不完全正確,有一組測試資料沒有pass,為什麼????? 

(三)其他進製轉化為其他進製

(1)十六進製制轉化為八進位制(資料比較小)(十六進製制---->十進位制---->八進位制)

#include #include #include #include using namespace std;

string str="";

string fun(int n)

return str;

}int _16to10(char ch)

int main()

{ int case;

scanf("%d",&case);

while(case--){

char ch[100005];

int n=0;

cin>>ch;

for(int i=0;i

資料較大時,需十六進製制---->二進位制------>八進位制

**:#include #include #include #include using namespace std;

char str[200005];

int main()

{ int case;

scanf("%d",&case);

while(case--){

string str_16;

string str_2="";

cin>>str_16;

//修正位

int str_16len=str_16.length();

if(str_16len%3==1)

str_2="00"+str_2;

if(str_16len%3==2)

str_2="0"+str_2;

//16進製制轉化為2進製

for( int i=0;i在做這道題的時候提交出過問題(+ 運算子),**

(2)八進位制轉化為16進製制(同上)



各種進製的轉換

請看這下面二段 10進製 2進製 string a 1195 輸入數值 biginteger src new biginteger a 轉換為biginteger型別 system.out.println src.tostring 2 轉換為2進製並輸出結果 2進製 10進製 string a 10...

各種進製的轉換

public class arrayt 十進位制轉換成十六進製制 public static void tohex int num 十進位制轉換成二進位制 public static void tobinary int num 十進位制轉換成八進位制 public static void tooct...

Python 各種進製轉換

coding gbk var input 請輸入十六進製制數 b bin int var,16 print b 2 詳細請參考python自帶int函式 bin函式用法 參考 class int x,base 10 bin x 十六進製制 到 十進位制 使用 int 函式 第乙個引數是字串 0xff...