十进制-十六进制

                                             十进制-十六进制

Description

把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示。

Input

每行一个整数x,0<= x <= 2^31。

Output

每行输出对应的八位十六进制整数,包括前导0。

Sample Input

0 1023

Sample Output

0x00000000 0x000003FF

题意:数字范围在int内,进制转换,简单的连续取余而已。记得中学的时候就会转换进制了。这里只要注意题目要求就ok咯。

注意输出要求哦。

#include<iostream> 
using namespace std; 
int main() 
{     
	int n;     
	while(cin>>n)     
	{         
		int i;         
		char a[8];        //要输出对应的八位十六进制整数
		for(i=0;i<8;i++)        
		{          
			a[i]='0';     //先置零
		}      
		for(i=7;i>=0;i--)      //先取余得到的数,放在最后   
		{             
			if(n==0)              //n==0,运算结束   
				break;            
			if(n%16<10)            
			{                 
				a[i]='0'+n%16;                 
				n/=16;             
			}            
			else            
			{                 
				a[i]='A'+(n%16-10);                 
				n/=16;               //进制转换,以字母代替10~15
			}         
		}         
		printf("0x");        //输出的要求
		for(i=0;i<8;i++)            
			printf("%c",a[i]);   
		cout<<endl;    
	}     
	return 0; 
} 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值