BCD码以及各进制之间的相互转换

BCD码以及各进制之间的相互转换BCD 码的学习以及进制之间的换算 bcd 码

大家好,欢迎来到IT知识分享网。

目录

前言

一、BCD码

二、进制互转

1、任意进制转十进制:系数X基数 ^ 权值(累加)

2、任意进制转二进制


前言

主要学习什么是BCD码,以及二进制、八进制、十进制、十六进制之间的相互转换

一、BCD码

BCD码就是以四位二进制数为一个单位来表示相应的十进制数、十六进制数如下图:

BCD码以及各进制之间的相互转换

  图1-1

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

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

通常的两位BCD码转换:

BCD码转十进制:DEC = BCD / 16 * 10 ^ 1 + BCD % 16 * 10 ^ 0 ;

详解:先将BCD的前一位提出BCD/16,再提出BCD后一位BCD%16。最后将两位数转十进制。多位BCD码同理。

十进制转BCD码:BCD = DEC / 10 * 16 + DEC % 10 ;同上分别提出高低两位,做BCD转换。

二、进制互转

1、任意进制转十进制:系数X基数 ^ 权值累加

(1110)二转十 =  1 * 2 ^ 3 + 1 * 2 ^ 2 + 1 * 2 ^ 1 + 0 * 2 ^ 0 

(27)   八转十 =   2 * 8 ^ 1 + 7 * 8 ^ 0    

(11)十六转十 =  1 * 16 ^ 1 + 1 * 16 ^ 0

(0x11)十六转二转十 = 0001 0001 >>> 0 * 2 ^ 7 …. + 1 * 2 ^ 4 + 0 + 1 * 2 ^0

2、任意进制转二进制

 //递归 void decToBin(int n) { int a; a = n%2; n /= 2; if(n==0) ; else decToBin(n); cout<<a; }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/140526.html

(0)
上一篇 2025-05-26 13:15
下一篇 2025-05-26 13:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信