数据转换-16进制字符

任务详情

  1. 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务
  2. 在utils.h和utils.c中完成16进制字符’0′-‘9′,’A’-‘F’,’a’-‘f’与十六进制数据0-15的转换功能(10’):
int Hex2Char(unsigned int fromi,unsigned char * toc);
int Char2Hex(unsigned char fromc,unsigned int * toi);
  1. 并写出测试代码测试上述函数(不能与下面代码一样),比如:(10’)
unsigned char * c;
Hex2Char(1, &c)
//结果:c = '1'
Hex2Char(15, &c)
//结果:c = 'F'
unsigned int i;
Char2Hex('1', &i);
//结果:i = 1
Char2Hex('F', &i);
//结果:i = 15
  1. 提交代码(或代码链接)和运行结果

任务过程

utils.h

#ifndef _UTIL_H_
#define _UTIL_H_

//char Hex2Char(int i);
//int Char2Hex(char c);

int Hex2Char(int fromi,char * toc);
int Char2Hex(char fromc,int * toi);

int Bitstr2ByteArr(char * bs,char * ba);
int ByteArr2Bitstr(char * ba,char * bs);

int Int2ByteArr(int i,char * ba);
int ByteArr2Int(char * ba,int * i);

#endif

utils.c

#include<stdio.h>
#include"utils.h"
char Hstr = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

int Hex2Char(int fromi,char *toc)
{
    if(fromi>=0&&fromi<=9) { *toc="fromi+'0';" } else if(fromi>=10&&fromi<=15) { *toc="fromi+'A'-10;" } else printf("error"); return 0; int char2hex(char fromc,int *toi) if(fromc>='0'&& fromc<='9') { *toi="fromc-'0';" } else if(fromc>='A'&& fromc<='f') { *toi="fromc-'A'+10;" } else printf("error"); return 0; < code></='f')></='9')></=15)></=9)></stdio.h>

数据转换-16进制字符

main.c

#include<stdio.h>
#include"utils.h"
int main(){
  int n1,n2;
  char c1,c2;
  printf("&#x8BF7;&#x8F93;&#x5165;&#x4E00;&#x4E2A;0~15&#x7684;&#x6570;&#xFF1A;");
  scanf("%d",&n1);
  Hex2Char(n1,&c1);
  printf("&#x5BF9;&#x5E94;&#x7684;16&#x8FDB;&#x5236;&#x5B57;&#x7B26;&#x662F;%c\n",c1);
  printf("&#x8BF7;&#x8F93;&#x5165;&#x4E00;&#x4E2A;16&#x8FDB;&#x5236;&#x5B57;&#x7B26;&#xFF1A;");
  scanf("%c",&c2);
  Char2Hex(c2,&n2);
  printf("&#x5BF9;&#x5E94;&#x7684;&#x6570;&#x662F;%d\n",n2);
}
</stdio.h>

运行结果:

数据转换-16进制字符

Original: https://www.cnblogs.com/zzjjyy123/p/16262589.html
Author: 20191223张俊怡
Title: 数据转换-16进制字符

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585823/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ES6

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &lt…

    Linux 2023年6月13日
    091
  • zabbix监控配置流程

    1.0 zabbix监控配置流程详细 管理角度: 开发 由开发人员提供监控指标来监控 运营 让其找开发要监控指标 运维 直接加 配置角度: 创建主机 创建主机组并加入主机 添加监控…

    Linux 2023年6月7日
    087
  • 命名空间、作用域、LEGB法则、垃圾回收机制

    一、命名空间、作用域、LEGB法则、 1.命名空间和作用域 : &#x3000;&#x3000;&#x547D;&#x540D;&#x7A7…

    Linux 2023年6月8日
    086
  • 蓝桥杯国赛——循环小数

    时间限制: 1.0s 内存限制: 256.0MB 本题总分:20 分 【问题描述】已知 S 是一个小于 1 的循环小数,请计算与 S 相等的最简真分数是多少。例如 0 . 3333…

    Linux 2023年6月6日
    073
  • 利用卷积神经网络处理cifar图像分类

    这是一个图像分类的比赛CIFAR( CIFAR-10 – Object Recognition in Images ) 首先我们需要下载数据文件,地址: http://…

    Linux 2023年6月6日
    0118
  • Question08-查询没学过”张三”老师授课的同学的信息

    * SELECT * FROM Student WHERE SID NOT IN ( SELECT DISTINCT Student.SID FROM Student , SC ,…

    Linux 2023年6月7日
    099
  • 使用ipmitool配置ipmi(远程控制卡)

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    097
  • 一文搞懂 Redis 架构演化之路

    这种方案就是我们经常听到的 Redis RDB,RDB 采用「 定时快照」的方式进行数据持久化,它的优点是: 持久化文件体积小(二进制 + 压缩) 写盘频率低(定时写入) 缺点也很…

    Linux 2023年5月28日
    085
  • 05-ElasticSearch高级搜索

    * package com.coolman.hotel.test; import com.coolman.hotel.pojo.HotelDoc; import com.faste…

    Linux 2023年6月7日
    0111
  • ssh 或 putty 连接linux报错解决方法

    由于当天多次输入错误密码,ssh和putty就连接不上了,纠结了很久解决问题 ssh连接提示错误:server unexpectedly closed network connec…

    Linux 2023年6月13日
    098
  • bare Git 仓库是什么?

    背景 今天,坐我旁边的同事问我一些关于服务器上命令的问题。其中有一个用了特殊参数的 git init 的命令,我也不认识,遂去 Google… bare Git 仓库 …

    Linux 2023年6月7日
    092
  • 常见开发模型-敏捷开发与瀑布开发模型详解

    引言 在学习软件工程的时候接触过一些软件工程开发模型的相关概念,其中,印象比较深刻的就是瀑布模型和敏捷开发模型。这两种模型在日常的软件开发中都是非常常用的,但是它们也有比较大的区别…

    Linux 2023年6月7日
    0132
  • 更改网卡名称

    CentOS7使用了”一致性网络命名方法” 更改配置文件内容 关闭”一致性网络设备命名法” 更新GRUB、内核配置 grub2-mk…

    Linux 2023年6月6日
    094
  • IDEA出现Could not autowire. No beans of ‘xxx’ type found.解决

    Plan A File → Project Structure… Facets → Spring → 右键删除即可 Plan B File → Settings → E…

    Linux 2023年6月13日
    097
  • 数据库主从复制

    主从复制是MySQL中最重要的功能之一。主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库…

    Linux 2023年6月6日
    066
  • Tomcat下载安装以及配置方法

    Tomcat环境变量配置方法 注意一定要在java环境配置成功之后再来配置tomcat。我这里仅展现在Windows系统下载的安装方法 Tomcat下载地址如下: https://…

    Linux 2023年6月7日
    097
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球