蓝桥杯C语言 十六进制转八进制

article/2025/9/23 9:12:52

十六进制转八进制

在这里插入图片描述

思路分析:

39十六进制先转换为4位二进制,3为0011,9为1001,所以39的二进制为00111001,又把二进制转化为3位八进制,从右边开始数,001为1,111为7,所以39的八进制为71。

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 
#define MAX_SIZE 100000
/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) {int n;      //十六进制数数量int i,j,k; // 计数变量 int result;int str_len;scanf("%d",&n);char str[n][MAX_SIZE];//建立数组,保存16个十六进制数对应的二进制数char demo[16][4] = {"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"};memset(str,0,n*MAX_SIZE);  //将str初始化为0for(i=0;i<n;i++){scanf("%s",str[i]);k=0;str_len = strlen(str[i]);   //计数十六进制数长度 int ss = 4*str_len%3;         //判断转换后的二进制数数量是否为的倍数,如果不是,需要补0 char temp[4*str_len+3-ss];memset(temp,0,4*str_len+3-ss);if(ss == 1){strcat(temp,"00");k += 2;}if(ss == 2){strcat(temp,"0");k +=1;}/* 进行十六进制向二进制数的转换  */for(j=0;j<str_len;j++){if(str[i][j]<65){temp[k++] = demo[str[i][j]-48][0];temp[k++] = demo[str[i][j]-48][1];temp[k++] = demo[str[i][j]-48][2];temp[k++] = demo[str[i][j]-48][3];}else if(str[i][j]>=65){temp[k++] = demo[str[i][j]-55][0];temp[k++] = demo[str[i][j]-55][1];temp[k++] = demo[str[i][j]-55][2];temp[k++] = demo[str[i][j]-55][3];}}temp[k] = 0;//进行输出操作for(j=0;j<4*str_len;j+=3){if(j==0){result=(4*(temp[j]-48) + 2*(temp[j+1]-48) + (temp[j+2]-48));if( result != 0)printf("%d",result);}else{result=(4*(temp[j]-48) + 2*(temp[j+1]-48) + (temp[j+2]-48));printf("%d",result);}} printf("\n");} return 0;
}

http://chatgpt.dhexx.cn/article/Z5AKKOP9.shtml

相关文章

十六进制转换八进制

问题描述 给定n个十六进制正整数&#xff0c;输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n &#xff08;1<n<10&#xff09;。   接下来n行&#xff0c;每行一个由09、大写字母AF组成的字符串&#xff0c;表示要转换的十六进制正整数&#xff0…

蓝桥杯练习:C语言十六进制转八进制

这题对我来说是有点难度的,最后做出来,但是提交显示 运行错误,看不出哪里出错了. 我的思路: 将十六进制转化为二进制,二进制最后转化为八进制. 首先将十六进制存入数组,然后将数组中每一位转化为对应的十进制数,之后将再将每一位十进制数转化为二进制数,将这些二进制数以每三…

C语言十六进制转八进制

思路&#xff1a;将十六进制先转为十进制再转为八进制 十六进制转十进制:与二进制转十进制类似。对十六进制每个数从左往右依次乘16的0,1,2,......并相加得到相应的十进制。 比如&#xff1a;对123ABC&#xff0c;1216&#xff08;0&#xff09;1116&#xff08;1&#xff09…

XPC U盘启动盘的制作

XPC U盘启动盘的制作 对于XPC目标机的启动&#xff0c;我们可以通过网络、硬盘或者 U盘启动目标机。这里介绍一下通过U盘的气动&#xff0c;因为这个相对而言比较简单。 选择一个4G以下的U盘&#xff0c;最好为2G选择一台XP系统的电脑&#xff08;最好为工控机&#xff0c;必…

XPC调试记录 :TwinCAT生成XML配置文件

XPC调试记录&#xff1a;生成XML配置文件20210316 1.连接目标控制器 硬件准备&#xff1a;用一根网线将配置有EtherCAT的电脑和EK1100&#xff08;BECOHOFF总线模块&#xff09;网线插槽X2(OUT)相连。&#xff08;正常初始化配置时对应指示灯闪烁&#xff09; &#xff08;1&a…

iOS 冰与火之歌 - 利用 XPC 过 App 沙盒

蒸米是阿里巴巴的移动安全工程师&#xff0c;香港中文大学博士&#xff0c;也是发现并命名了XcodeGhost的人。这次他所在的iOS安全小组发现了影响最新版iOS 9.3的0day漏洞。此漏洞杀伤力巨大&#xff0c;在非越狱手机上一个app应用可以利用这个漏洞做到读取或者修改沙盒外其他a…

xPC信号采集和分析(1)

背景介绍 在我的上篇文章用虚拟机在一台电脑上实现xPC实时仿真&#xff0c;进行xPC实时仿真的过程中&#xff0c;需要将仿真数据进行记录以便后续分析处理。xPC目标的信号采集过程是通过实时内核来完成的。实时应用程序的信号数据存储在目标机的RAM中&#xff0c;xPC目标程序支…

建模simulink - 手把手教你搭建xpc平台

概述 xpc半实物仿真目标是个基于RTW对低端实时仿真和开发平台,可将计算机或者工控机转变为一个实时系统,不需要第三方操作系统对支持,在计算机上配置输入输入出设备就能和外部交换信息,进行硬件再换仿真和测控系统开发。 目前mathworks已经放弃来xpc target这个说法,而改用…

xPC信号采集和分析(2)

背景介绍 上一篇文章xPC信号采集和分析&#xff08;1&#xff09;里面&#xff0c;解决了自己在使用第二种方法&#xff1a;信号记录模式对xPC数据进行记录过程中的一些问题。 然而很多情况下&#xff0c;我们需要采用第三种信号跟踪模式对实时任务中的数据进行实时传输并可视…

matlab中xpcapi库的调用,关于MATLAB中xpc实时控制平台搭建的心得

Xpc target主机—目标机通讯平台的搭建 一、用u盘制作XPC的目标启动盘 U盘启动盘制作的关键是找对dos系统软件包和相应的读写软件,我也是找了很久而不得要领。开始时,我是下载了一个网上的dos系统软件包,然后用ultriso写入u盘中,然而并不成功,试了几次后,才找到合适的软件…

建模simulink - xpc自定义模块

概述 在实际项目设计中,使用simulink提供的基本模块很难实现的时候,此时就需要一种用户可以自定义的方式,定做自己的模块。 在这种情况下,Matlab的s函数应运而生,S-函数是系统函数(System Function)的简称,又称S-function,支持用户使用C语言、C++、Matlab等语言编写自己…

simulink模块,提供xpctarget下驱动源码

simulink模块&#xff0c;提供xpctarget下驱动源码 :77999632700099250风中的蜗牛

建模simulink - xpc自定义模块设置

概述 simulink建模不同于代码编程,整个项目以模块/模型为单元展开,在之前的文章中,小编已经介绍过如何自定义模块,以及设置参数等信息,不懂的小伙伴可以先移步看看以前的文章,正因为simulink的这种特性,所以此时模块/模型的展示信息就显得尤为重要。 注意 ★环境:matla…

建模simulink - xpc自定义模块库

概述 打开simulink Library Browser,可以看到,simulink官方只为我们提供一些基本模型库,而在实际开发过程中,这些模型库往往需要我们进行二次封装后才能在项目中使用。这时,我们可以创建专属自己的自定义库,把项目中写好的一些模型块放在库中进行统一管理。这样当遇到类似…

在 macOS 中如何使用 XPC 实现跨进程通讯?

以防丢失&#xff0c;转载自&#xff1a; http://davidleee.com/2020/07/20/ipc-for-macOS/ 如侵权&#xff0c;联系删除 最近需要在 Electron 项目上引入一个比较吃性能的大头功能&#xff0c;因为已经用 Objective-C 实现过一套稳定且性能也可接受的带 UI 方案了&#xff0c;…

matlab xpc 环境pci板卡驱动编写,XPC环境下PCI板卡驱动

当Simulink 与S-function 相互作用时&#xff0c;Simulink 所调用的第一个程序是mdlInitializeSizes&#xff0c;随后调用的是其它S-function 函数(所有的函数名均以mdl 开头)。 在仿真结束时&#xff0c;Simulink 调用mdlTerminate函数。 2.3.2预处理 该范例以以下的定义开头&…

进程间通信之XPC

From&#xff1a;https://blog.csdn.net/heikefangxian23/article/details/51071840 关于 XPC XPC 是 OS X 下的一种 IPC (进程间通信) 技术, 它实现了权限隔离, 使得 App Sandbox 更加完备. 首先&#xff0c;XPC 更多关注的是实现功能某种的方式&#xff0c;通常采用其他方…

MacOS XPC的使用入门

MacOS&#xff1a;10.14&#xff0c;Xcode&#xff1a;11.0 1、随意创建一个工程&#xff0c;可以是App project Xcode -> File -> New -> Project... -> macOS -> Application -> App -> click Next 填写Product Name(XPCDemo) -> 选择或者不选择Team…

关于 XPC

关于 XPC XPC 是 OS X 下的一种 IPC (进程间通信) 技术, 它实现了权限隔离, 使得 App Sandbox 更加完备. 首先&#xff0c;XPC 更多关注的是实现功能某种的方式&#xff0c;通常采用其他方式同样能够实现。并没有强调如果不使用 XPC&#xff0c;无法实现某些功能。 XPC 目的是提…

用虚拟机在一台电脑上实现xPC实时仿真

背景介绍 一般的xPC仿真需要2台电脑来分别实现目标机和宿主机&#xff0c;两者之间通过以太网或者串口实现通讯。Matlab的xPC Target提供了一个运行在目标机上的高度剪裁的实时操作内核&#xff0c;无需在目标机上面安装任何的操作系统&#xff0c;只需要包含实时内核的启动盘启…