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是乙...