C 面試題之進製轉換的例項

2022-09-27 02:21:14 字數 751 閱讀 1944

c++進製轉換的例項

乙個面試題,要求輸入十進位制數,輸出十六進製制,可以使用printf列印%d,%c,%s來輸出,但不能使用 %x 列印。

寫了兩種演算法,還算比較簡潔,貼上在此。        

// 第一種演算法,從低位到高位掃瞄移位,需要乙個陣列輔助倒序,一次性輸出結果

#include

#define max_hex_num 16

#define out_data_len sizeof(int)*2 // 2個16進製制數表示1個位元組

static char hex_char_table[max_hex_num] = ;

int ten2hex( int data )

prradxwrnintf(程式設計客棧"0x%s\n",result);

return 0;

} 下面是第二種演算法,從高位向低位掃瞄,得到結果直接列印。

#include

#define bits_of_int sizeof(int)*8 // int的位數

#define out_data_len sizeof(int)*2 // 2個16進製制數表示1個位元組

int printhex( int num )

printf("\n");

} 兩種演算法其實都是採用移位的方式來運算,而不是採用除法,這樣會更加高效一些,我想這個題目的考點應該也在這裡吧。

本文標題: c++面試題之進製轉換的例項

本文位址:

面試題 華為 進製轉換 3

熬夜把第三個面試題做了,16進製制轉換乘10進製,依然是華為面試的題目,在此把自己做的一點成果分享給大家。寫出乙個程式,接受乙個十六進製制的數值字串,輸出該數值的十進位制字串。多組同時輸入 輸入乙個十六進製制的數值字串。輸出該數值的十進位制字串 0xa 十六進製制與十進位制轉換 include in...

C 面試題之i 面試題

i 面試題1.cpp 中國台灣某著名防毒軟體公司2005年10月面試題 int i 3,j 4 i?i j printf d d n i,j a.3 3 b.4 4 c.3 4 d.4 3 答案b i 面試題2.cpp 中國某著名計算機金融軟公司2005年面試題 int x 1,j 2 int k ...

C 面試題之sizeof面試題

sizeof面試題1.cpp what is the output of the following code?美國某著名計算機軟硬體公司面試題 include include include using namespace std structa structb int main 解析 ss1是乙...