试题 :
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++ 进制转换 十六进制转八进制相关推荐

  1. C++ [进制转换]十六进制转化为二进制

    C++ [进制转换]十六进制转化为二进制 思路:利用输入十六进制字符串,然后从前往后逐一提取单一字符,转换为整形变量,在应用 switch-case 来对应到此数对应的二进制四位上. 注意:字符转换为 ...

  2. 进制转换二进制转八进制_将二进制数制转换为八进制数制

    进制转换二进制转八进制 Prerequisite: Number systems 先决条件: 数字系统 To convert binary numbers into octal numbers, we ...

  3. php 二进制 十六进制转换,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...

    十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码代码如下: /** *十进制转二进制.八进制.十六进制 不足 ...

  4. 计算机系统基础知识——进制转换(二进制、八进制、十进制、十六进制)

    前言:计算机系统中常用的进位数制有二进制.八进制.十进制.十六进制,对于任何一种进位数制,其表示的数都可以写成按权展开的 多项式. 1. 十进制与二进制的相互转换 1.1 十进制转二进制   十进制数 ...

  5. php八进制十六进制,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...

    十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码代码如下: /** *十进制转二进制.八进制.十六进制不足位 ...

  6. 进制转换 | 二进制、八进制、十进制、十六进制 互相转换方法|以及介绍

    目录 二进制介绍: 1. 二进制转换为十进制方法: 2.十进制转换为二进制的方法: 十六进制介绍: 1.二进制转换为十六进制: 2.十六进制转换为二进制: 八进制介绍: 1.八进制转十进制: 2.十进 ...

  7. 进制转换 二进制,八进制,十进制,十六进制互转

    什么是'次幂' 某数的次幂即为某数的次方,即某数与本身相乘*次 概念: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 ...

  8. 准备蓝桥杯--dyx--十进制转换十六进制

    问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15.十六进制的计数方法是满1 ...

  9. 进制转换十六进制转十进制

    BASIC-10. ⼗进制转⼗六进制 输⼊格式 输⼊包含⼀个⾮负整数a,表示要转换的数. 0 < = a < = 2147483647 0<=a<=2147483647 0&l ...

最新文章

  1. 服务器维护简单的备份方案,服务器备份方案计划.doc
  2. 干货丨一文介绍机器学习中基本的数学符号
  3. 如何通过其值获取JavaScript对象中的键?
  4. android 过滤格式,android Intent.setType() 过滤图片,返回所有的文件类型
  5. 1119: 零起点学算法26——判断奇偶数
  6. 【docker】docker run命令详解
  7. u-boot移植第三弹——移植2013.10u-boot到RealARM210 cortex-A8开发板(支持moviNAND_Fusing_Tool_v2.0)
  8. php 新浪面试题,新浪网技术部笔试题
  9. TypeScript class 构造函数和成员的初始化顺序
  10. SAP Spartacus org unit list点击item之后的页面跳转实现
  11. linux中544进程,Linux基础--进程管理及其基本命令
  12. SQL数据库语言基础之SqlServer表数据的插入、更新与删除
  13. [论文阅读] A Simple Pooling-Based Design for Real-Time Salient Object Detection
  14. 学习dubbo(四): 启动时检查
  15. 实训汇编语言设计——内存多字节10进制数相加
  16. BootStrap的基本使用
  17. leetcode 881 救生艇 (python3- 贪心算法)
  18. nRF52832之硬件I2C
  19. 使用frp内网穿透,用windows远程桌面连接
  20. Noip2016PJ复赛总结

热门文章

  1. 宇宙无敌第一帅的Java笔记
  2. 仙山瑶池,灵水神泉”的美誉
  3. Java实现 LeetCode 416 分割等和子集
  4. 谷歌首席决策科学家:30篇文章通关数据科学与人工智能(转自TinyMind社区)
  5. 一曲相思用计算机怎么按,抖音这人间袅袅炊烟是什么歌 抖音一曲相思完整版...
  6. 载着 AI 梦想向前奔跑!2022 Amazon DeepRacer 自动驾驶联赛未完待续!
  7. Jenkins 与 Kubernetes 手牵手
  8. 数学----常见函数求导过程
  9. Parasoft如何满足DISA STIG标准
  10. 蠡测机房重构之组合查询