进制转换,可以说是基础学习中,做练习题必会遇到的知识点。所以学会进制转换很重要哦。
这篇就以十进制化为十六进制为例。
首先,要明白十进制转化为十六进制数的思路是怎样的(这里因为本人口齿不清,就不做描述了,哈哈)。
代码如下 :
# includeusing 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)负数的转化
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)