任意进制转换
2023-02-18 16:35:27 时间
任意进制转换
描述
求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。
不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。
输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。
a,b是十进制整数,2 =< a,b <= 16。
输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,...,9,A,B,...,F)。
样例输入:
15 Aab3 7
样例输出
210306
void conversion( char s[], long d1, long d2 )
{
long i=0, j, t, num;
char s2[100];
char c;
num = 0;
for ( i = 0; s[i] != '\0'; i++ )
{
if ( s[i] <= '9' && s[i] >= '0' )
t = s[i] - '0';
else t = toupper(s[i]) - 'A' + 10;
num = num * d1 + t;//先转换为10进制
}
i = 0;
while (true)
{
t = num % d2;//一直取余,而后除
if ( t <= 9 )
s2[i] = t + '0';
else s2[i] = t + 'A' - 10;
num /= d2;
if ( num == 0 )
break;
i++;
}
for (int k = i; k >=0; k--)
cout<<s2[k];
}
相关文章
- JetBrains Rider for mac(跨平台.NET IDE集成开发) v2022.3.1激活版
- 交互周期表:网络中心度(Network Centrality)
- ECCV2022 | PCLossNet:不进行匹配的点云重建网络
- Redis
- SQLSERVER 的复合索引和包含索引到底有啥区别?
- SQLSERVER 的主键索引真的是物理有序吗?
- SQLSERVER 居然也能调 C# 代码 ?
- 再聊一下那 SQLSERVER 行不能跨页的事
- 聊一聊 SQLSERVER 的行不能跨页
- 一次SQL调优 聊一聊 SQLSERVER 数据页
- 记一次 .NET 某安全生产信息系统 CPU爆高分析
- 记一次 .NET 某工控MES程序 崩溃分析
- 玩好.NET高级调试,你也要会写点汇编
- 记一次 .NET 某工控软件 内存泄露分析
- 记一次 .NET 某电子厂OA系统 非托管内存泄露分析
- 聊一聊如何截获 C# 程序产生的日志
- .NET 7 的 AOT 到底能不能扛反编译?
- 记一次 .NET 某自动化采集软件 崩溃分析
- 从 WinDbg 角度理解 .NET7 的AOT玩法
- 记一次.NET某工控图片上传CPU爆高分析