数据转换-16进制字符
Posted 西宁西
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据转换-16进制字符相关的知识,希望对你有一定的参考价值。
- 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务
- 在utils.h和utils.c中完成16进制字符\'0\'-\'9\',\'A\'-\'F\',\'a\'-\'f\'与十六进制数据0-15的转换功能(10’)
- 并写出测试代码测试上述函数(不能与下面代码一样),比如:(10’)
- 提交代码(或代码链接)和运行结果
- 在utils.h和utils.c中完成16进制字符\'0\'-\'9\',\'A\'-\'F\',\'a\'-\'f\'与十六进制数据0-15的转换功能(10’)
代码如下:
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\';
char Hex2Char(int i)
if(i >= 0 && i <= 9)
return i + 0x30;
// return i + \'0\'
if(i >= 10 && i <= 15)
return i + 0x37;
// return i + \'A\' - 10
return 0;
/*
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;
*/
main.c
#include<stdio.h>
#include"utils.h"
int main()
int n1,n2;
char c1,c2;
printf("请输入一个0~15的数:");
scanf("%d",&n1);
Hex2Char(n1,&c1);
printf("对应的16进制字符是%c\\n",c1);
printf("请输入一个16进制字符:");
scanf("%c",&c2);
Char2Hex(c2,&n2);
printf("%c对应的数是%d\\n",c2,n2);
- 提交代码(或代码链接)和运行结果
实践截图如下:
python3字符串与二进制互相转换
参考技术Apython中,没有" 0-1 "形式的二进制类型,但我们依然可以存储二进制类型的数据。
利用字符串(string)类型,可以存储二进制数据。即:将二进制数据以字符串的形式存储。
下面分享一种字符串和二进制串互相转换的具体实现方法。
运行结果:
【END】
最后给大家推荐一个好东西:
每个python程序员想必都会很喜欢的东西,点击去看
喜欢吗?喜欢就点个赞吧~
以上是关于数据转换-16进制字符的主要内容,如果未能解决你的问题,请参考以下文章