首页 > 其他分享 >十进制与BCD码互相转换

十进制与BCD码互相转换

时间:2024-03-16 19:44:40浏览次数:30  
标签:转换 BCD decimal int bcd tens 十进制

BCD到十进制:

#include <stdio.h>

int main()
{
	int decimalNumber = 35; // 要转换为BCD码的十进制数
	
	int tens = decimalNumber / 10;
	int ones = decimalNumber % 10;
	
	// 将十位和个位转换为BCD码
	char bcd = (tens << 4) | ones;	//0011 0000 
	
	printf("十进制数 %d 转换为BCD码为: 0x%X\n", decimalNumber, bcd);
	
	return 0;
}

//最后输出0X35

分析:

先分别取该十进制的十位和个位,
然后将十位左移4位(尽管此时十位是十进制数,但是你写了左移运算符,编译器就会在内部以二进制形式表示该十进制),
最后与个位相或就好了。

 

十进制到BCD:

#include <stdio.h>

int BCD_to_Decimal(unsigned char bcd)
{
	int decimal = 0;
	
	// 获取十位和个位数字
	int tens = (bcd >> 4) & 0x0F;
	int ones = bcd & 0x0F;
	
	// 将十位数值乘以10,然后加上个位数值
	decimal = (tens * 10) + ones;
	
	return decimal;
}

int main()
{
	unsigned char bcd = 0x23; // 23的BCD码表示
	
	int decimal = BCD_to_Decimal(bcd);
	printf("BCD码 0x%X 转换为十进制数为: %d\n", bcd, decimal);
	
	return 0;
}

分析:

取到tens后,尽管在内部以二进制形式表示,但在计算过程中,它会被当做十进制数值 2 来处理

标签:转换,BCD,decimal,int,bcd,tens,十进制
From: https://www.cnblogs.com/YYZYCS/p/18077481

相关文章

  • 621、基于51单片机的波形发生器(方波,VF转换)
    毕设帮助、开题指导、技术解答(有偿)见文末。目录一、设计功能二、proteus仿真三、原理图四、程序源码五、资料包括一、设计功能二、proteus仿真三、原理图四、程序源码五、资料包括需要完整的资料可以点击下面的名片,找我要资源......
  • 通过傅立叶转换对图片增加盲水印
    嗯,很多公司内部oa或者im都加了水印,比如著名阿里月饼事件brewinstallfftwbrewinstallimagemagick--with-fftwconverttest.jpg-fftfft.pngconvertmark.png-rotate180mark1.pngconvertfft-1.pngmark.png-gravitynorthwest-geometry+1382+1124-compositeff......
  • 108. 将有序数组转换为二叉搜索树c
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/structTreeNode*build(int*nums,inthead,inttail){if(head>tail)returnNULL;intmid=head+(......
  • python bytes格式的一些转换
    importbinascii#中文字符串转bytess="中国"b=s.encode("utf-8")print(b)#输出:b'\xe4\xb8\xad\xe5\x9b\xbd'#bytes转字符串,默认utf-8解码print(b.decode())#输出:中国#16进制字符串转byteshex_s="e4b8ade59bbd"b=bytes.fromhex(he......
  • 稳定可靠:PW2163降压芯片,实现5V至3.3V/3V高效转换,3A电流稳定输出
    在现代电子设备中,电源管理芯片发挥着至关重要的作用。PW2163作为一款高效稳定的500kHz同步降压DC-DC转换器,凭借其出色的性能和广泛的应用领域,已成为众多电子设备中的电源管理新选择。 一、PW2163的显著特点与优势PW2163具有内部集成低RDS(ON)的主开关和同步开关,这一设计有助于最......
  • 稀疏数组与二维数组之间的转换
    稀疏数组介绍:稀疏数组:当一个数组中大部分元素为同一个值时,就可以考虑使用稀疏数组来保存数据节省空间。稀疏数组的原理:1)稀疏数组一共三列,第一行的第一列保存原二维数组的行数,第一行第二列保存原二维数组的列数,第一行第三列保存原二维数组非0数据的个数;2)稀疏数组一共有【原二维......
  • 进制介绍及进制之间的转换
    进制介绍对于整数,有四种表示方式:二进制:0,1,满2进一。以0b或者0B开头。十进制:0-9,满10进一。八进制:0-7,满8进一。以数字0开头。十六进制:0-9及A(10)-F(15),满16进一。以0x或者0X开头表示,此处的A-F不区分大小写。进制之间的转换二进制转十进制方法:从最低位(右边)开始,将每个位上的数......
  • shell脚本实现子母大小写转换
    文章目录把变量中的第一个字符换成大写把变量中的所有小写字母,全部替换为大写把变量中的第一个字符换成小写把变量中的所有大写字母,全部替换为小写用tr需要新增变量,用declare或typeset需要在变量赋值前或者赋值后单独声明,都有些麻烦此方法为bash4.0以后新增,bash4......
  • MFEA-GSMT--通过基因相似性和镜像转换来解决多任务优化问题
    MFEA-GSMT–通过基因相似性和镜像转换来解决多任务优化问题title:ImprovingEvolutionaryMultitaskingOptimizationbyLeveragingInter-TaskGeneSimilarityandMirrorTransformationauthor:XiaoliangMa,YongjinZheng,andZexuanZhu,XiaodongLi,LeiWang,Yu......
  • 【5V 转 3.3V,3V,2.5V芯片首选】PW2162高效恒压转换器,外围电路超简单
    在现代电子设备高速发展的今天,一款高效、稳定的电源管理芯片对于设备的性能至关重要。PW2162,作为一款完全集成、高效的2A同步整流降压转换器,凭借其出色的性能和广泛的应用领域,正引领着电源管理领域的新纪元。首先,让我们深入了解一下PW2162的独特之处。这款转换器在宽输出电流负载......