BCD码的介绍与十进制数间代码转换

您所在的位置:网站首页 0001转十进制 BCD码的介绍与十进制数间代码转换

BCD码的介绍与十进制数间代码转换

2024-04-09 15:24| 来源: 网络整理| 查看: 265

一、BCD码介绍

BCD码(Binary-Coded Decimal‎)称为二进码,用4位二进制数来表示1位十进制数中的0~9这10个数码。是十进代码中最常用的一种。

在这种编码方式中,每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的 二进制数加起来就可以得到它所代表的十进制数字。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”,故得名8421码。其中每一位 “1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的,所以8421码是恒权码

BCD码可分为有权码和无权码两类:

有权BCD码有8421码、2421码、5421码,其中8421码是最常用的BCD码。无权BCD码有余3码,余3循环码等。 类比8421BCD码 可以得到 5421码 2421码

由此可知 8421码 5241码和2421码 都是 十进代码 只是最右面位的权值不同

图中可以看到0-9位 几个进制的BCD码都是以二进制的正常形式换算,从十开始的BCD码开始不一样了起来。

BCD码:以四位二进制数为一单位来表示一个数。例如:十进制数10的BCD码为0001 0000;显而易见后四位的0000 表示的是十进制的个位,0001则就是十位了。十六进制转BCD码也是同理。

二、BCD 码与十进制间转换

 8421码转十进制数

unsigned char bcd_to_hex(unsigned char data) { unsigned char temp; temp = ((data>>4)*10 + (data&0x0f)); return temp; }

十进制数转8421码

unsigned char hex_to_bcd(unsigned char data) { unsigned char temp; temp = (((data/10)


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3