用C语言演示如何执行下列类型转换:

1,获取字符串中每个字符的十六进制值。 2,获取与十六进制字符串中的每个值对应的字符。 3,将十六进制string转换为整型。 4,将十六进制string转换为浮点型。 5,将字节数组转换为十六进制string。

示例一 输出 string 中的每个字符的十六进制值。

char str[]="Hello World!";

int i;

printf("Hello World!\n");

for(i=0;i

{

printf("%02u: %c 字符十六进制 = %x \r\n",i,str[i],str[i]);

}

输出结果

示例二 分析十六进制值的 string 并输出对应于每个十六进制值的字符

char hexValues[] = "48 65 6C 6C 6F 20 57 6F 72 6C 64 21";

int i;

char var,temp,count;

char strTb[20],strNum;

strNum = 0;

count = 0;

for(i=0;i

{

temp = hexValues[i];

if(temp == ' ') continue;

if((temp >= '0') && (temp

{

temp = temp - '0';

}else if((temp >= 'A') && (temp

{

temp = temp - 'A' + 10 ;

}else if((temp >= 'a') && (temp

{

temp = temp - 'a' + 10 ;

}else

{

continue;

}

var

var +=temp;

count++;

if(count >= 2)

{

printf("hexadecimal value = %x, int value = %3u, char value = %c\r\n",var,var,var);

strTb[strNum] = var;

strNum ++;

var = 0;

count = 0;

}

}

输出结果

示例三 演示了将十六进制 string 转换为整数

char hexString[] = "8E2";

char temp;

unsigned int i,IntVar=0;

IntVar=0;

for(i=0;i

{

temp = hexString[i];

if(temp == ' ') continue;

if((temp >= '0') && (temp

{

temp = temp - '0';

}else if((temp >= 'A') && (temp

{

temp = temp - 'A' + 10 ;

}else if((temp >= 'a') && (temp

{

temp = temp - 'a' + 10 ;

}else

{

continue;

}

IntVar

IntVar +=temp;

}

printf("字符串hexString整形值为:%lu\r\n",IntVar);

输出结果

示例四 演示如何将十六进制 string 转换为浮点型。

const char floatString[] = "4348016f";

int i,strNum,count;

char var,temp;

typedef union

{

float floatVar;

unsigned char byte[4];

}ParType_un;

ParType_un outPar;

strNum = 0;

count = 0;

for(i=0;i

{

temp = floatString[i];

if(temp == ' ') continue;

if((temp >= '0') && (temp

{

temp = temp - '0';

}else if((temp >= 'A') && (temp

{

temp = temp - 'A' + 10 ;

}else if((temp >= 'a') && (temp

{

temp = temp - 'a' + 10 ;

}else

{

continue;

}

var

var +=temp;

count++;

if(count >= 2)

{

outPar.byte[3-strNum] = var;

strNum ++;

var = 0;

count = 0;

}

}

printf("字符串floatString浮点值为:%f\r\n",outPar.floatVar);

输出结果

示例五 下面的示例演示如何将字节数组转换为十六进制字符串。

const unsigned char vals[6] = { 0x01, 0xAA, 0xB1, 0xDC, 0x10, 0xDD };

int i;

char temp;

for(i=0;i

{

printf("%02x",vals[i]);

}

printf("\r\n");

输出结果

c语言程序转换成单片机语言,单片机编程常用到的类型转换 C语言程序实现相关推荐

  1. 语言翻译成汇编语言_学习编程有没有必要从C语言和C++学起?应该怎么学?

    硬件层级:这里也就是实体硬件,包括:CPU.内存.显卡等等...这些都不属于软件的范畴内. 汇编层级:在之前没有C/C++以及java之前,是汇编的年代.那么汇编语言对于我们来说,可读性是很查的,不适 ...

  2. 自学python能学成吗-没有任何编程基础可以直接学习python语言吗?学会后能够做什么?...

    很明确的说 python非常适合没有任何编程基础的人入门.. 目前应用最多的:全栈开发.数据分析.运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有结果的来走得 ...

  3. c语言如何在1序号方编程,《基于ZG211使用C语言编程的电子钟显示设计最终版》...

    <基于ZG211使用C语言编程的电子钟显示设计.doc>由会员分享,可免费在线阅读全文,更多与<基于ZG211使用C语言编程的电子钟显示设计(最终版)>相关文档资源请在帮帮文库 ...

  4. linux下c语言按q退出_Linux C编程之一:Linux下C语言的开发环境

    今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去... 1.开发环境的构成 编辑器:VI: 编译器:选择GNU C/C++编译器gcc: 调试器:应用广泛的gdb: 函数库: ...

  5. c语言在数学方面的应用编程,浅谈数学在C语言编程中的应用.doc

    浅谈数学在C语言编程中的应用 浅谈数学在C语言编程中的应用 [][]C语言对学习者的数学基础要求较高对一部分学生来说学好C语言有一定的困难.本文就本专业知识和自身对C语言的学习经验对数学在C语言编程中 ...

  6. avr-gcc与avr单片机c语言开发 pdf,AVR 单片机与GCC 编程使用方法

    原标题:AVR 单片机与GCC 编程使用方法 WIN 是一个ATMEL AVR 系列 的开发工具集,它包含GNU C 和C++编译器 . 1.1 一个简单的例子 为了先有一个感性的认识,我们首先看一下 ...

  7. c51单片机的语言,51单片机,stm32,arduino都是用什么语言进行编程的?

    51单片机,STM32单片机用汇编或者C语言,现在基本都用C语言编程,Arduino有自己的编程环境,用户也是用C语言编程. 51单片机的编程 51单片机进入中国比较早,在早前用汇编编程比较多,我在上 ...

  8. 《嵌入式C编程:PIC单片机和C编程技术与应用》一第1章C语言概述和程序结构1.1 C源代码...

    本节书摘来自华章出版社<嵌入式C编程:PIC单片机和C编程技术与应用>一书中的第1章,第1.1节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社 ...

  9. 单片机c语言必背代码_最适合单片机编程的高级语言,除了C语言,别无选择!...

    单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...

最新文章

  1. 2021年大数据Spark(二十五):SparkSQL的RDD、DF、DS相关操作
  2. 科大星云诗社动态20201223
  3. 二、在VMware中搭建PHP集成环境(lamp/lnmp/lanmp)
  4. spring事务(三)
  5. 【已解决】IDEA 配置tomcat后,javaweb项目报404
  6. asp.net 能否多线程断点续传?
  7. kata_Java中的功能性FizzBu​​zz Kata
  8. ffmpeg编译(生成Windows或Win32平台dll, lib)
  9. 27 MM配置-采购-采购申请-定义凭证层的屏幕格式
  10. mysql实现类似oracle中rownum的效果
  11. C# 基础,JOject JArray构造json对象
  12. 利用安装光盘创建本地 yum 源补装 RPM 软件包
  13. 数学解题技巧-孙明华
  14. linux一些不要想当然的事(一)之目录权限
  15. 性能之殇:从冯·诺依曼瓶颈谈起
  16. 机械秒表的使用方法_秒表的使用方法!
  17. 树莓派连接到电脑显示图形界面
  18. 89c52单片机控制两个步进电机正反转加减速(程序+仿真)
  19. 小明加密通道进入_「成都全接触」最新!成都8条地铁进展来了!年底还有5条铁路、9条通道!...
  20. NAND驱动分析--(二)

热门文章

  1. 【线上分享】如虎添翼,边缘计算在媒体性能与安全上的实现
  2. 【线上分享】基于AI的超分辨技术在RTC领域的技术难点与挑战
  3. LiveVideoStack线上分享第三季(十四):FLV封装格式介绍及解析
  4. C/C++学习之路: 继承
  5. 无招胜有招之Java进阶JVM(八)类加载机制
  6. java基础--网络编程
  7. leetcode 581. Shortest Unsorted Continuous Subarray | 581. 最短无序连续子数组(单调栈)
  8. 【PAT甲级 ArrayList存放class】1011 World Cup Betting (20 分) Java版 3/3通过 四舍五入保留两位小数
  9. netty系列之:轻轻松松搭个支持中文的服务器
  10. HiveJDBC与其他JDBC一起使用时出现java.lang.IllegalArgumentException: Bad URL format