Loading... ## 前言 最近在写(gan)作业(ddl)的时候,遇到需要写一段二进制数字转变为 `8421` 型 `BCD` 码,这里记录一下 `c` 语言实现的源码。 > `8421` `BCD`码是最基本和最常用的 `BCD` 码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权 `BCD` 码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。 ## 代码实现 ```cpp int bin2bcd(char val) { int x=0; for(int i=7;i>=0;i--){ if((x&0xf)>=5){ x+=3; } if(((x&0xf0)>>4)>=5){ x+=(3<<4); } x<<=1; x= (((val&(1<<i))>>i) | x&(~1)); } return x; } ``` 最后修改:2020 年 10 月 11 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏