c++ 进制转换 十六进制转八进制
试题 :
n个十六进制正整数,输出它们对应的八进制数。
输入格式:
输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式:
输出n行,每行为输入对应的八进制正整数。
【注意】
输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。
样例输入:
2
39
123ABC
样例输出
71
4435274
【提示】
先将十六进制数转换成某进制数,再由某进制数转换成八进制。
#include <iostream>
#include <iomanip>
#include <string>
#include <cstring>
#include <math.h>
using namespace std;
void from16to8(string in_16)//该函数的形参是一个字符串(string型)表示一个16进制数
{int len16,len2,len8,len;int i,j=1;string date_2;string date_8,date1_8;len16=in_16.length();for(i=0;i<len16;i++){date_2+=form16get2(in_16[i]);}len2=len16*4;for(i=0;;i++){if(date_2[i]!='0') break;}date_2=date_2.substr(i,len2-i);len2=date_2.length();len=len2%3;if(len==1 &&date_2[0]!=0) date_8=date_2[0];else if(len==2){if(date_2.substr(0,2)=="01") date_8="1";else if(date_2.substr(0,2)=="10") date_8="2";else if(date_2.substr(0,2)=="11") date_8="3";}for(i=len;i<len2;i+=3){ if(date_2.substr(i,3)=="000") date_8+="0"; else if(date_2.substr(i,3)=="001") date_8+="1";else if(date_2.substr(i,3)=="010") date_8+="2";else if(date_2.substr(i,3)=="011") date_8+="3";else if(date_2.substr(i,3)=="100") date_8+="4";else if(date_2.substr(i,3)=="101") date_8+="5";else if(date_2.substr(i,3)=="110") date_8+="6";else if(date_2.substr(i,3)=="111") date_8+="7";} cout<<date_8<<endl;
}int main(int argc, char** argv)
{int n;int i;cin>>n;string date_in[n];for(i=0;i!=n;i++) cin>>date_in[i];//输入 for(i=0;i!=n;i++) from16to8(date_in[i]);//对每一个16进制数进行处理输出 return 0;
}
c++ 进制转换 十六进制转八进制相关推荐
- C++ [进制转换]十六进制转化为二进制
C++ [进制转换]十六进制转化为二进制 思路:利用输入十六进制字符串,然后从前往后逐一提取单一字符,转换为整形变量,在应用 switch-case 来对应到此数对应的二进制四位上. 注意:字符转换为 ...
- 进制转换二进制转八进制_将二进制数制转换为八进制数制
进制转换二进制转八进制 Prerequisite: Number systems 先决条件: 数字系统 To convert binary numbers into octal numbers, we ...
- php 二进制 十六进制转换,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...
十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码代码如下: /** *十进制转二进制.八进制.十六进制 不足 ...
- 计算机系统基础知识——进制转换(二进制、八进制、十进制、十六进制)
前言:计算机系统中常用的进位数制有二进制.八进制.十进制.十六进制,对于任何一种进位数制,其表示的数都可以写成按权展开的 多项式. 1. 十进制与二进制的相互转换 1.1 十进制转二进制 十进制数 ...
- php八进制十六进制,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...
十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码代码如下: /** *十进制转二进制.八进制.十六进制不足位 ...
- 进制转换 | 二进制、八进制、十进制、十六进制 互相转换方法|以及介绍
目录 二进制介绍: 1. 二进制转换为十进制方法: 2.十进制转换为二进制的方法: 十六进制介绍: 1.二进制转换为十六进制: 2.十六进制转换为二进制: 八进制介绍: 1.八进制转十进制: 2.十进 ...
- 进制转换 二进制,八进制,十进制,十六进制互转
什么是'次幂' 某数的次幂即为某数的次方,即某数与本身相乘*次 概念:2的0次幂是1 2的1次幂是2 2的2次幂是2✖2 2的3次幂是2✖2✖2 2的4次幂是2✖2✖2✖2 如10的5次幂=10✖10 ...
- 准备蓝桥杯--dyx--十进制转换十六进制
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15.十六进制的计数方法是满1 ...
- 进制转换十六进制转十进制
BASIC-10. ⼗进制转⼗六进制 输⼊格式 输⼊包含⼀个⾮负整数a,表示要转换的数. 0 < = a < = 2147483647 0<=a<=2147483647 0&l ...
最新文章
- 服务器维护简单的备份方案,服务器备份方案计划.doc
- 干货丨一文介绍机器学习中基本的数学符号
- 如何通过其值获取JavaScript对象中的键?
- android 过滤格式,android Intent.setType() 过滤图片,返回所有的文件类型
- 1119: 零起点学算法26——判断奇偶数
- 【docker】docker run命令详解
- u-boot移植第三弹——移植2013.10u-boot到RealARM210 cortex-A8开发板(支持moviNAND_Fusing_Tool_v2.0)
- php 新浪面试题,新浪网技术部笔试题
- TypeScript class 构造函数和成员的初始化顺序
- SAP Spartacus org unit list点击item之后的页面跳转实现
- linux中544进程,Linux基础--进程管理及其基本命令
- SQL数据库语言基础之SqlServer表数据的插入、更新与删除
- [论文阅读] A Simple Pooling-Based Design for Real-Time Salient Object Detection
- 学习dubbo(四): 启动时检查
- 实训汇编语言设计——内存多字节10进制数相加
- BootStrap的基本使用
- leetcode 881 救生艇 (python3- 贪心算法)
- nRF52832之硬件I2C
- 使用frp内网穿透,用windows远程桌面连接
- Noip2016PJ复赛总结