C 10進製轉換成2進製 8進製 16進製制

2021-07-22 10:56:28 字數 902 閱讀 3211

evelyn 

今天是做京東的筆試題,簡直又是被扼殺在搖籃裡了,是乙個求取幸運數的題目,即乙個十進位制的數如果各個位數的值相加與轉換成2進製後1的位數相等,即這個數為幸運數。

也是由於一時緊張沒有想到,只想著有沒有函式可以進行進製之間的轉換,沒有想到自己去寫,確實有乙個函式itoa,itoa(value,char,要轉換的進製),標頭檔案,可以進行二進位制轉換。在本地也可以正確執行,提交卻一直提示沒有這個函式。最後情急之下使用了sprintf函式,但是沒想到sprintf可以進行八進位制sprintf(str,"%o",value)和十六進製制轉換sprintf(str,"%x",value),但是不能進行2進製轉換,所以最後提交也錯了。

還有注意一點itoa和sprintf都是轉換成的字串,要用atoi轉換成int型。

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

int main() ;

int x = 0;

while (temp >0)

x--;

temp = 0;

for (x; x >= 0; x--)

temp = result[x] + temp * 10;*///可用來進行二進位制轉換 temp的值與tentotwo的值相等

int len = strlen(str);

for (int a = 0; a < len; a++)

int p = 10, q = 1;

for (int a = 0; a < 6; a++)

if (sum1 == sum2)

} cout << count << endl;

} return 0;

}

10進製數轉換成2進製數

2.十進位制轉換成二進位制 演算法 利用while語句 當所輸入的數不為1時,執行while迴圈 在while迴圈中將輸入的數插入順序棧中 只支援整形資料 include using namespace std const int stacksize 10 class seqstack seqsta...

任意進製轉換10進製和10進製轉換成任意進製

原理 輸入是乙個字串,由函式體轉換成數 考慮是否溢位int範圍 include using namespace std include typedef long long ll 這個具體要看要求,如果給的輸入是否會超過乙個int的範圍 include ll transdec string num,i...

進製轉換(Q進製轉換成T進製)

給定乙個整數q 2 q 10 乙個非空字串,以及另乙個整數t 2 t 10 程式設計要求過濾掉字串中所有非q進製數對應的字元組成乙個新的字串,該字串無正負號,將該字串表示的q進製數轉換為t進製數的字串輸出。第一行輸入乙個整數q,代表q進製 2 q 10 第二行輸入以回車結束的一行非空字串。第三行輸入...