C/C++[codeup 1942]进制转换
1942题目描述
求任意两个不同进制非负整数的转换(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)。
样例输入
4 123 10
样例输出
27
提示
用字符串存储和表示不同进制的数。
long long int ,任意进制转换成十进制,十进制转换成任意进制.
#include <iostream>
#include <cstring>
using namespace std;
//字符转换为10进制整数
int char2value(char c) {if (c >= '0' && c <= '9')return c-'0';else if (c >= 'a' && c <= 'f')return (c - 'a' + 10);else if (c >= 'A' && c <= 'F')return (c - 'A' + 10);else return 0;
}
//任意进制>十进制long long int,
//char num[]:a进制
long long int str2decimal(char num[], int a) {int l = strlen(num);int p = 1, n ;long long int m = 0;for (int i = l - 1; i >= 0; i--) {n = char2value(num[i]);m += n*p;p *=a;}return m;
}
//十进制>任意进制int b,结果保存在 char ans[];
char ten2any(long long int num, int b, char ans[]) {int i=0, d;do {d = (num % b) ;//d < 10 ; d + '0', char(int d) = d + '0'//d >= 10 ; d - 10 + 'A'ans[i++] = d < 10 ?(d + '0'):(d-10+'A');num /= b;}while(num != 0);return 0;
}
int main() {int a, b; //a : 原始进制,b:输出进制char n[65] = {};while(cin>>a >>n >>b){char ans[65] = {};long long int num = str2decimal(n, a);if (b == 10) cout<<num<<endl;else {ten2any(num, b, ans);for (int i = strlen(ans)-1; i >= 0; i--)cout<<ans[i];cout<<endl;}}return 0;
}
C/C++[codeup 1942]进制转换相关推荐
- codeup 1943进制转换
思路:用字符数组先保存输入的数(小于30位),如果把数直接看成整数的话,每次就是除2取余,现就看成对每个位进行除2,最后取余,比如123的过程,123先对1除2,商为0,余数为1,在对2除2,由于上一 ...
- 超大数据10进制转2进制详解(可推广到其他进制)/ Codeup 100000579 问题 C: 进制转换
问题C:进制转换 时间限制 内存限制 1.000sec 32MB 题目描述: 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出. 输入: 多组数据,每行为一个长度不超过30位的十进制非负整 ...
- javascript进制转换_《算法笔记》3.5小节——入门模拟-gt;进制转换
@[TOC] # Contest100000579 - <算法笔记>3.5小节--入门模拟->进制转换 ## 例题 ### PATB1022 PTA | 程序设计类实验辅助教学平台 ...
- python中不同进制的整数之间可以直接运算_Python 进制转换、位运算
一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...
- c语言进制转换pdf下载,C语言实现任意进制转换.doc
C语言实现任意进制转换.doc includestdio.h#includemath.h#includestring.hvoid dtox(double num,int jz)char xnum100 ...
- 进制转换converse
栈和队列是在软件设计中常用的两种数据结构,它们的逻辑结构和线性表相同. 其特点在于运算受到了限制:栈按"后进先出"的规则进行操作,队按"先进先出"的规则进行操作 ...
- 进制转换 位运算(包括补码、原码、反码、~0等一些零碎东西一次说清)
我发现网上关于标题上的内容介绍的都很零碎,因此为了方便查找.也为了本人对这一部分的充分理解,就想着写一篇这样的博客(我分成了几个部分,以便查找): 一.进制转换 让我们先来看看各个进制的定义: 十进制 ...
- 每日一题(进制转换)
前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题.小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号"小 ...
- 进制转换数据结构c语言不用栈,急求!!!用数据结构(C语言)利用栈实现十进制向二(八)进制转换,要有注释,谢谢!...
匿名用户 1级 2013-12-05 回答 #include #include #include typedef unsigned int data_type; //结点数62616964757a68 ...
- 计算机中的数制和编码教案,计算机《数制与编码进制转换》公开课教案.doc
<计算机应用基础>教案 新田县职业中学 蒋玲 PAGE PAGE 7 数制与编码--进制转换 [学情分析]本课内容是在学生已经学习了计算机发展与应用.计算机系统的组成等知识的基础上进行,已 ...
最新文章
- python查看所有异常_如何获取python异常发生的实际行号?
- bash之预定义变量
- VS2017增加数据库连接串
- javascript的时间段选择
- 文巾解题 595. 大的国家
- Eclipse安装反编译插件
- 【Spring源码】从源码实现的角度解析spring的InitializingBean的afterPropertiesSet方法和init-method区别和应用
- hdu 1848(Fibonacci again and again)(SG博弈)
- Python二级笔记(13)
- 利用ECG关于HRV分析
- oracle客观题题库,oralce题库及答案.doc
- Exar签署最终协议 5900万美元收购Hifn
- 【Google设计冲刺】一种适合于创新小组的协作方式
- springboot的三种启动方式
- iOS 使用ZipArchive压缩文件
- Linux netstat 命令详解
- vulhub漏洞复现十七_GhostScript
- 年底了,你总结了吗?我先来。
- 赵小楼《天道》《遥远的救世主》深度解析(29)优秀的传统文化和弱势思想观念的转变
- 给要入门量化分析的人一些建议(转)
热门文章
- 创建一个SpringBoot项目(IDEA版本,保姆级教程)
- JavaWeb开发Filter学习
- vue前期项目搭建所需要安装的插件,idea操作
- c语言开发视频监控系统,基于Crotex_A8平台的本地视频监控系统.doc
- 编译asp.net 2.0项目到dll文件
- spring cloud微服务分布式云架构-Gateway入门 1
- Three.js中的矩阵
- 探秘中国网购的数据迷城
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
- 快餐店选址指南--转