首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解析BCD

近日有朋友问起BCD码,在此我们就来说说这BCD码。为什么会有BCD码?...最常用的BCD码称为8421BCD码,8.4.2.1 分别是4位二进数的位取值。...具体编程函数如下,函数中参数val是一个字节数,那么此BCD码是两位的BCD码,即高四位是一个码值、低四位是一个码值,所以将高四位乘以10加上低四位码值就得到了十进制数。...,这里我们用个小技巧,大家看上面的编码的对应关系,四位的BCD码,刚好对应一个8位数的十六进制中的四位,比如十六进制0x23,对应的BCD码是0010 0011,也就说十六进制的十位对应一个4位的BCD...码,个位又对应一个BCD码,恰巧这个BCD码对应的十进制数就是十六进制的十位和各位,也就说0x23中的2,对应0010,又对应十进制的2,这样一来,我们做显示的时候,直接把十六进制的BCD码除以16,这样就分离出

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

bcd码与十进制转换方法_5421bcd码转换十进制

BCD码其实就是之前在数字电路中说的 用4位二进制数值 来表示一个0-9中的数字, 例如: 0000=0 0001=1 0010=2 0011=3 也就是说如果把一个数字作为一个BCD码,例如: 11...22 那么他应该展开为: 00010001 00100010 也就是对应为十进制: 17 34 所以一个BCD吗转为十进制数据的思想就是: 将BCD码每个数字分离出来,例如上面的11 将十位的1分离出来然后左移...十进制转BCD码的 思想:将这个十进制数字用二进制表示,高4位表示的数字是多少 * 10再加上低四位表示 的数字,C程序如下: #define BCD_to_Decimal(bcd) ((((bcd...) / 10) << 4) + ((bcd) % 10)) #define Decimal_to_BCD(dec) (((0xf0 & (dec)) >> 4)*10 + (0x0f & (dec))

1.4K10

Windows 7 旗舰版 VHD安装体验

(直接在安装Win7的界面下运行diskpart是不会安装这个VHD的存储控制器的,要是没有他会导致安装失败) 现在要做的是新建立一个VHD文件。...重启,在VHD文件上安装系统吧~ 重启后在安装Win7的界面上按快捷键 Shift+F10,调出命令行。在这里原先的C盘变成了D盘,现在需要做的是把刚才新建立的VHD文件挂载到系统中。...在下方有一个提示Win7可能无法从此磁盘启动。这里只要你的CPU支持虚拟化技术并且开启起了他,就不用担心什么。 剩下的就是正常安装Win7系统了。...重启,你会发现一个启动菜单的选择,第一个是你刚刚安装的VHD中的Win7,第二个是你的宿主机。 进入VHD中的Win7,Update、装杀毒软件、装驱动以及基础的一些你觉得十分必要的软件。...先在C盘新建一个bcd_bak文件夹来做启动项的备份 在命令行下键入命令 //备份启动项 bcdedit /export “C:\bcd_bak\Bcd Backup” //将当前的系统启动项目复制为VHD

2.1K60

一文攻破BCD码转换与各进制转换

一文攻破BCD码转换与各进制转换 0.导语 最近做的项目中时刻看到时间戳用BCD[xx]来定义,那么针对这种定义,究竟代表什么意思,如何来使用呢,本节来阐述BCD码与其他进制转换以及在笔试当中,会碰到进制转换问题...1.BCDBCD码(Binary-Coded Decimal‎)亦称二进码十进数或二-十进制代码。 用4位二进制数来表示1位十进制数中的0~9这10个数码。...相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使电脑作浮点运算时所耗费的时间。 此外,对于其他需要高精确度的计算,BCD编码亦很常用。...BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的。这样,当将 BCD码传送给运算器进行运算时,其结果需要修正。...二进制表示为:0010 1010 -> BCD 二进制码 0100 0010 对应的十进制为66 十六进制42 字符为B。

3.8K20
领券