BCD码与十进制数转换C语言程序 | 您所在的位置:网站首页 › 进制转化c语言 › BCD码与十进制数转换C语言程序 |
一、BCD码
1.简介
BCD码(Binary-Coded Decimal),也称为二-十进制代码,是一种将十进制数转换为二进制数的编码方式,用4位二进制数来表示1位十进制数中的0~9这10个数码。BCD码使用四个位Bit来储存一个十进制的数码,使二进制和十进制之间的转换转换变得非常快捷和简单。 2.分类BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码,无权BCD码有余3码、余3循环码、格雷码。8421BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。 例如,十进制的12,对应8421格式BCD码是0001 0010,即8*0+4*0+2*0+1*1=1,8*0+4*0+2*1+1*0=2,合起来是12,而原BCD码看上去像是十六进制的0x12。 常用的BCD码见下表: 十进制8421 BCD5421 BCD2421 BCD余3 BCD00000000000000011100010001000101002001000100010010130011001100110110401000100010001115010110001011100060110100111001001701111010110110108100010111110101191001110011111100 二、进制转换转换方法比较简单,本文只讨论8421格式的BCD码的转换,且只在2位十进制数范围内。 1.十进制数转BCD码将2位十进制数的十位和个位分别取出,再进行转换,代码如下: /******************************************************************************* * 函数名:DecToBCD * 功 能:十进制数转BCD码 * 参 数:dec:输入的十进制数 * 返回值:转换的BCD码 * 说 明:2位十进制数 *******************************************************************************/ uint8_t DecToBCD(uint8_t dec) { return ((dec / 10) |
CopyRight 2018-2019 实验室设备网 版权所有 |