C++中常見的進制轉(zhuǎn)換面試題-創(chuàng)新互聯(lián)

這篇文章主要為大家詳細介紹了C++中常見的進制轉(zhuǎn)換面試題,文中示例代碼介紹的非常詳細,具有一定的參考價值,發(fā)現(xiàn)的小伙伴們可以參考一下:

創(chuàng)新互聯(lián)專注于中大型企業(yè)的成都做網(wǎng)站、成都網(wǎng)站制作和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計客戶1000多家,服務(wù)滿意度達97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運用,我們將一直專注品牌網(wǎng)站設(shè)計和互聯(lián)網(wǎng)程序開發(fā),在前進的路上,與客戶一起成長!

C++進制轉(zhuǎn)換的實例

一個面試題,要求輸入十進制數(shù),輸出十六進制,可以使用printf打印%d,%c,%s來輸出,但不能使用 %x 打印。

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

// 第一種算法,從低位到高位掃描移位,需要一個數(shù)組輔助倒序,一次性輸出結(jié)果 
 
#include <stdio.h> 
 
#define MAX_HEX_NUM 16 
#define OUT_DATA_LEN sizeof(int)*2 // 2個16進制數(shù)表示1個字節(jié)
 
static char Hex_Char_Table[MAX_HEX_NUM] = { 
  '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' 
}; 
 
int ten2hex( int data ) 
{ 
  char result[OUT_DATA_LEN+1]; 
  int i,index; 
 
  result[OUT_DATA_LEN] = '\0'; 
  for( i=OUT_DATA_LEN-1; i>=0; i-- ) 
  { 
    index = data & 0xf; 
    result[i] = Hex_Char_Table[index]; 
    data = data>>4; 
  } 
 
  printf("0x%s\n",result); 
 
  return 0; 
}

   下面是第二種算法,從高位向低位掃描,得到結(jié)果直接打印。

#include <stdio.h> 
 
#define BITS_OF_INT  sizeof(int)*8 // int的位數(shù) 
#define OUT_DATA_LEN sizeof(int)*2 // 2個16進制數(shù)表示1個字節(jié) 
 
int printHex( int num ) 
{ 
  int i; 
 
  printf("0x"); 
  for(i=0;i<OUT_DATA_LEN;i++) 
  { 
    unsigned int res = num & 0xf0000000; //注意,必須用 unsigned int來接收,否則當輸入負數(shù)的時候會轉(zhuǎn)換錯誤 
    res = res >> (BITS_OF_INT-4); 
    char c; 
    if( res <= 9 ) 
      c = res + '0'; 
    else 
      c = 'A' + res - 10; 
 
    printf("%c",c); 
 
    num = num << 4; 
  } 
 
  printf("\n"); 
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)建站。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站bm7419.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、建站服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章名稱:C++中常見的進制轉(zhuǎn)換面試題-創(chuàng)新互聯(lián)
分享URL:http://bm7419.com/article30/ihjso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站維護營銷型網(wǎng)站建設(shè)網(wǎng)站建設(shè)、軟件開發(fā)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)