十六进制转换成八进制

十六进制转八进制(C语言版) 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。   【注意】   输入的十六进制数不会有前导0,比如012A。   输出 阅读详情

思路:先把十六进制转换成二进制,二进制在转换成八进制


蓝桥杯总是超时,但是结果都是对的

import java.util.Scanner;
import java.util.prefs.BackingStoreException;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		char[] s = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
				'B', 'C', 'D', 'E', 'F' };
		String[] e = { "000", "001", "010", "011", "100", "101", "110", "111" };
		int n = sc.nextInt();

		while (n-- >= 0) {

			String in = sc.nextLine();
			char[] inChar = in.toCharArray();

			String bi = "";
			for (int i = 0; i < inChar.length; i++) {// 十六进制转化成二进制
				for (int j = 0; j < s.length; j++) {
					if (s[j] == inChar[i]) {
						switch (j) {
						case 0:
							bi += "0000";
							break;
						case 1:
							bi += "0001";
							break;
						case 2:
							bi += "0010";
							break;
						case 3:
							bi += "0011";
							break;
						case 4:
							bi += "0100";
							break;
						case 5:
							bi += "0101";
							break;
						case 6:
							bi += "0110";
							break;
						case 7:
							bi += "0111";
							break;
						case 8:
							bi += "1000";
							break;
						case 9:
							bi += "1001";
							break;
						case 10:
							bi += "1010";
							break;
						case 11:
							bi += "1011";
							break;
						case 12:
							bi += "1100";
							break;
						case 13:
							bi += "1101";
							break;
						case 14:
							bi += "1110";
							break;
						case 15:
							bi += "1111";
							break;
						}
					}
				}
			}

			int len = bi.length();
			String three = null;
			String eight = "";
			//一下代码是将二进制转换成八进制
			while (len >= 3) {
				three = bi.substring(len - 3, len);
				bi = bi.substring(0, len - 3);
				len -= 3;
				switch (three) {
				case "000":
					eight += 0;
					break;
				case "001":
					eight += 1;
					break;
				case "010":
					eight += 2;
					break;
				case "011":
					eight += 3;
					break;
				case "100":
					eight += 4;
					break;
				case "101":
					eight += 5;
					break;
				case "110":
					eight += 6;
					break;
				case "111":
					eight += 7;
					break;
				}
			}
			if(len == 1){
				bi = "00"+bi;
				switch (bi) {
				case "000":
					eight += 0;
					break;
				case "001":
					eight += 1;
					break;
				case "010":
					eight += 2;
					break;
				case "011":
					eight += 3;
					break;
				case "100":
					eight += 4;
					break;
				case "101":
					eight += 5;
					break;
				case "110":
					eight += 6;
					break;
				case "111":
					eight += 7;
					break;
				}
			}
			if(len == 2){
				bi = "0"+bi;
				switch (bi) {
				case "000":
					eight += 0;
					break;
				case "001":
					eight += 1;
					break;
				case "010":
					eight += 2;
					break;
				case "011":
					eight += 3;
					break;
				case "100":
					eight += 4;
					break;
				case "101":
					eight += 5;
					break;
				case "110":
					eight += 6;
					break;
				case "111":
					eight += 7;
					break;
				}
			}
			
			
			int lenEight = eight.length()-1;
			while(--lenEight>=0){
				System.out.print(eight.charAt(lenEight));
			}
		}
	}
}


十六进制转换成八进制(超级详细注释了) 代码如下: #include #include #include using namespace std; string a[16}={“0000”,“0001”,“0010”,“0011”,“0100”,“0101”,“0110”,“0111”,“1000”,“1001”,“1010”,“1011”,“1100”,“1101”,“1110”,“1111”}; //十六进制数 0-9 A-F... 阅读详情

相关推荐

无人机基本组成部件

无人机基本组成部件

qq_37410522的博客 1万+

十六进制转换八进制

代码如下 #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;math.h&amp;gt; #include&amp;lt;string.h&amp;gt; int main() { int n,i,j,k,len,t; int b[10],c[10]; scanf(&quot;%d&quot;,&amp;amp;n); char a[10][99]; for(i

小白的Coding之旅 6306

第十二节:C#工业控制编程基础--输出正弦波实验

第十二节:基于c#使用开发板输出正弦波实验 文章目录第十二节:基于c#使用开发板输出正弦波实验一、实验目的:了解采集卡DA相关函数的使用。二、实验内容:利用C#生成正弦波,然后用采集卡DA输出。三、实验步骤:1.打开Visual Studio 2013,新建窗体应用程序项目,配置好板卡dll文件。2.在窗体中放入控件,对控件进行布局排版,并修改他们的Name属性和Text属性。3.在Chart控件内选择Spline型图表,如图2。4.进入编程区域,在public partial class Form1 :

weixin_49237052的博客 2296

十六进制转八进制(浅显易懂)

十六进制转八进制 #分析+算法实现+代码+测试数据 #技巧:分析+处理+调试(大不了就调试) 分析 这个题是蓝桥杯的一道练习题,对于十六进制转八进制的话,是可以通用的。 题目的描述大概是这样的:给n个十六进制数,n&amp;amp;lt;=10,每个数的长度不超过10000。 这里涉及到字符型以及string类类类型,待会再强调。 下面分析一下此题: 要想把十六进制转成八进制,首先想到把十六进制转成二进制再转成...

Bsj' blog 1万+

VisionMaster SDK C#二次开发核心技术指南

以下是基于**VisionMaster SDK C#二次开发核心技术指南**,结合实战案例与关键代码解析,帮助开发者快速掌握工业视觉应用集成。

东城十三 3065

Windows BITS服务:后台智能文件传输技术详解

后台文件传输技术是现代IT基础设施中的关键组件,Windows BITS(Background Intelligent Transfer Service)作为微软原生解决方案,通过队列管理和智能调度实现高效数据传输。其核心技术原理包括分块传输、断点续传和带宽自适应,能够根据网络状况动态调整传输速率(默认占用空闲带宽的80%)。在工程实践中,BITS特别适用于企业软件分发和自动化数据采集场景,通过PowerShell命令即可实现高优先级传输和代理配置。相比传统FTP方案,BITS在跨国文件传输中将失败率从30

weixin_42116058的博客 282

十六进制转换成八进制的两种方法

【欢迎关注编码小哥,学习更多实用的编程方法】

Do my best! 2365

eNSP网络构建—建立小型局域网

企业私有网络构建运维 实战案例——使用模拟器构建局域网络 案例分析 1.架构分析 (1)需求分析 本实验的目的在于建立小型局域网。由于公司由不同部门组成,并分布在不同地点,因此需要划分不同网络实现互联互通。设计以下网络:两个部门各使用一台交换机连接,然后连接到总交换机,再通过路由器与外网以及其他部门网络相连。为了控制网络上的广播风暴,增加网络的安全性,在交换机上需要设置VLAN,在路由器与交换机之...

_ 4万+

SDNU 1430.十六进制转八进制(python)

Description 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1< =n< =10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 注意   输入的十...

weixin_30780221的博客 1144

FPGA驱动OV5640:从SCCB协议到图像数据采集的实战解析

本文详细解析了使用FPGA驱动OV5640摄像头模组的完整流程,从SCCB协议通信、寄存器配置到图像数据采集。重点阐述了SCCB(与I2C类似)协议的实现细节、关键的上电复位时序,以及如何通过状态机解析视频流时序并捕获图像数据,为嵌入式视觉开发提供了实战指南。

weixin_29191761的博客 188

自动权重化图卷积网络(Auto-Weighted GCN)算法在反洗钱识别中的应用及代码实现

该算法通过自动学习节点之间的权重信息,能够更好地捕捉AML数据中的关系和结构,从而提高反洗钱识别的准确性和效果。传统的AML识别方法通常依赖于专家定义的规则和手动提取的特征,但这些方法在应对大规模和复杂的数据时存在一定的局限性。GCN通过在图上执行卷积操作来捕捉节点之间的关系和结构信息,从而实现对图数据的学习和表示。自动权重化图卷积网络是一种基于GCN的改进算法,能够自动学习节点之间的权重信息,从而更好地捕捉图中的关系。利用自动计算的权重值执行图卷积操作。根据节点之间的相似度,计算每个节点的权重。

syntax_api860的博客 377

八进制转换成十六进制,十六进制转换成八进制

十六进制转换成八进制:每三位的十六进制转换成十进制,对应的十进制在%o的作用下转换成八进制:代码如下:#include #include #include #include using namespace std; char a[100010]; int f(char c) { if(isalpha(c)) return c-'A'+10; else return c-'0'; } int m

小冷在努力~ 3110

【K210+STM32项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(更新3.0版本)(完整工程资料源码)

STM32F407STM32F407_2(含有app功能)

嵌入式技术开发 2495

python十六进制转换成八进制_怎么把十六进制转化为八进制

展开全部八进制与十六进制之间的转换32313133353236313431303231363533e4b893e5b19e31333366303831有两种方法:第一种:他们之间的转换可以先转成二进制然后再相互转换。第二种:他们之间的转换可以先转成十进制然后再相互转换。例如一个十六进制数053977,将其转换成二进制001 010 011 100 101 110 111,再将该二进制转换为八进制,...

weixin_39746794的博客 1618

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

c语言将五进制转化为八进制,c语言把十六进制转换成八进制的问题??

题目如图:测试结果:我的代码:#include#include#includeint zhuanhuan(char c) //将十六进制字符转换为数值{if(c>='0'&&c<='9')return c-'0';elsereturn c-'A'+10;}int main(){int n,i,j,k,len,tmp;char dy;char *input[10],*o...

weixin_36439481的博客 317

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

C语言十进制转换成二进制、八进制、十六进制

一、绪论 十六进制(Hexadecimal):在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15。 十进制(Decimal System):每相邻的两个计数单位之间的进率都为十;十进制是中华民族的一项杰出创造,在世界数学史上有重要意义。著名的英国科学史学家李约瑟教授曾对中国商代记数法予以很高的评价,"如果没有这种十进制,就几乎不可能出现我...

Bystander_J 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

十进制转换成八进制和十六进制

负的十进制数转化成八进制数或十六进制数    最近在百度知道发帖关于解决上面问题,在苦苦寻找没有得到满意答案的情况下自己看书终于弄明白了。现在,我详细的梳理解决的思路。     例如:要求把十进制数(—617)分别用八进制和十六进制数表示。  答案是:(—617)10=(176627)8=(FD97)16    解:   先把617用二进制表示为10 0110 1001 (注:通过617除

lorenzoln的专栏 3270

输入一个十进制正整数,将其转换成二进制、八进制、十六进制数输出

1、形参采用指针 #include"stdio.h"#include"conio.h"#include"string.h"voidmain(){inti,radix;longn;chara[33];voidtrans10_2_8_16(char*p,longm,intbase);printf("\nInputradix(2...

dibanque3854的博客 9905

蓝桥杯练习试题——十六进制转换成八进制

#include #include using namespace std; int main() {     int n = 0, i = 0, j = 0, temp = 0, nNum = 0;     char ch;     string strHex[10];     string strBin[10];     string

qw963895582的博客 451

python十六进制转换成八进制_Python 进制转换 二进制 八进制 十进制 十六进制

全局定义一定不要丢了全局定义base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)]二进制 to 十进制 : int(str,n=)def bin2dec(string_num):return str(int(string_num, ))十六进制 to 十进制def hex2dec(string_...

weixin_39851457的博客 2203
上一篇: 16进制转10进制
下一篇: 时间转换
jeffery0628
博客等级 码龄11年 39粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值