1. 程式人生 > >BASIC-10基礎練習 十進位制轉十六進位制

BASIC-10基礎練習 十進位制轉十六進位制

  基礎練習 十進位制轉十六進位制  

時間限制:1.0s   記憶體限制:512.0MB

      

錦囊1

按除16取餘倒數(也可使用格式輸出)。

錦囊2

可以使用遞迴來處理,遞迴引數為要轉換的數字,如果該數字大於等於16,則將遞迴處理該數整除16的值,然後再輸出最後一位。 C/C++語言可以使用格式輸出直接輸出轉換後的結果。

問題描述

  十六進位制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16個符號,分別表示十進位制數的0至15。十六進位制的計數方法是滿16進1,所以十進位制數16在十六進位制中是10,而十進位制的17在十六進位制中是11,以此類推,十進位制的30在十六進位制中是1E。
  給出一個非負整數,將它表示成十六進位制的形式。

輸入格式

  輸入包含一個非負整數a,表示要轉換的數。0<=a<=2147483647

輸出格式

  輸出這個整數的16進製表示

樣例輸入

30

樣例輸出

1E

#include <iostream>
#include <cstdio>
using namespace std;

int main(int argc, char *argv[]) {
	int i=0;
	cin>>i;
	printf("%X",i);	
	return 0;
}
#include <iostream>
#include <cstdio>
using namespace std;

void toHex(int i){
	if(i/16!=0){
		toHex(i/16);
	}	
	if(i%16<10){
		cout<<char(i%16+'0');
	}else{
		cout<<char(i%16+'A'-10);
	}
}

int main(int argc, char *argv[]) {
	int i=0;
	cin>>i;
	toHex(i);	
	return 0;
}