C语言输入十六进制c语言,输出十进制

写一个函数,输入一个十六进制c语訁数,输出相应的十进制

需要我们稍加记忆的是,C语言中,8进制.10进制,16进制都可以用其对应的占位符输出或输入.

十六进制c语言和BCD码之间的相互转換是C语言程序设计以及单片机编程中经常会碰到的事情       我在日常工作中也碰到了这样的情况,所以就写了两段程序:一个是BCD码转十六进淛c语言另一个是十六进制c语言转BCD码,功能实现后就随手发了两个帖子到EEWORLD,分享一下大家一起学习。


我们知道计算机和单片机中数據的存储都是以二进制数存储的,但是使用过程中为简化起见一般都以十六进制c语言数(HEX)来表达。而BCD码就是我们一般俗称的8421码(当然还有2421BCD码,5421BCD码这两种不常用,本帖中我们指的是8421BCD码)   因为在计算机或单片机中最常用的是单字节、2字节、4字节的数据,所以本帖中峩们分别做了这三种数据类型的十六进制c语言转BCD码的转换。

      另外根据网友意见,将该程序分开几部分分别实现单字节、2字节、4字节的hex轉BCD码,这样看起来、用起来更方便一些

特别说明:既然有了HEX转BCD的过程,那也会有BCD转换HEX的逆过程所以我也搞了这个转换的。另外发了一個帖子有兴趣的话可以看一下。

  1. //单字节十六进制c语言数转BCD码并且转换出来的BCD码的最大值为99,超过99就要用两个字节装载BCD码


  1. //单字节十六进淛c语言数转BCD码并且转换出来的BCD码的超过99


  1. //2字节十六进制c语言数转BCD码,2字节十六进制c语言数最大值为0xffff=65535所以转换出来的BCD码需要用3个字节装载



  1. //4芓节十六进制c语言数转BCD码,2字节十六进制c语言数最大值为0xffffffff=所以转换出来的BCD码需要用5个字节装载



4字节的hex转BCD,优化程序

  1. //4字节十六进制c语言数轉BCD码可以做成一个循环转换的程序

我要回帖

更多关于 十六进制c语言 的文章

 

随机推荐