零基础学习c++第七记(进制转换,十进制转化为十六进制)

零基础学习c++第七记(进制转换,十进制转化为十六进制),第1张

基础学习c++第七记(进制转换,十进制转化为十六进制)

 进制转换,可以说是基础学习中,做练习题必会遇到的知识点。所以学会进制转换很重要哦。

这篇就以十进制化为十六进制为例。

首先,要明白十进制转化为十六进制数的思路是怎样的(这里因为本人口齿不清,就不做描述了,哈哈)。

代码如下 :

# include 

using namespace std;
typedef long long ll;
char a[20] = "0123456789ABCDEF";
ll c[100000];

int main () {
	ll N,b=0;
	cin >> N;
	while(N != 0){
		b ++;
		c[b] = N % 16;
		N /= 16;
	}
	if (b == 0){
		b ++;
		c[b] = 0;
	} 
	for(ll i = b ; i > 0 ; i --){
		ll s = c[i];
		if(s < 0){
			if(i == b)cout<<"-";
			cout << a[-s];
		}else cout << a[s];
	}
	
	return 0;
}

有几个需要注意的点,我提一下:

        (1)0的转化

        (2)负数的转化

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5115308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存