8421 BCD码 加减校正[通俗易懂]

8421 BCD码 加减校正[通俗易懂]8421码是一种常见的BCD(Binary-CodedDecimal)码,它用4个二进制位表示1个十进制位:00000001001000110100010101100111100010011010…11110123456789x…x例如:我们要表示5和15,使用二进制编码5 -101 15 -1111…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

8421码是一种常见的BCD(Binary-Coded Decimal)码,它用4个二进制位表示1个十进制位:

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1111
0 1 2 3 4 5 6 7 8 9 x x

例如:
我们要表示5和15,
使用二进制编码

5	 - 101 		
15	 - 1111

Jetbrains全家桶1年46,售后保障稳定

使用8421码表示

5	 - 0101 
15	 - 0001 0101		

在对8421码进行加减操作时候可能产生无意义的值如:1011、1100,这时候就需要进行校正.

8421码加法校正

举例:17 与 18 相加

8421码

  0 0 0 1   0 1 1 1	 (17)  
+ 0 0 0 1   1 0 0 0	 (18) 
 ----------------------------
  0 0 1 0   1 1 1 1 	 (?)		这是一个错误的答案,因为8421码里1111没有对应的十进制

校正方法
当低4位相加的结果大于9的时候,会产生进位,但对于4位二进制位应当大于15时才产生进位,需要对低4位加上0110也即是6来人为的制造一个进位

   0 0 1 0   1 1 1 1
 + 0 0 0 0   0 1 1 0 	(6)
 ---------------------------
   0 0 1 1   0 1 0 1	(35)	校正后结果正确

8421码减法校正

有了上面加法校正的基础,我们可以类推出减法的校正
举例:17 与 8 相减
8421码

  0 0 0 1   0 1 1 1 	(17)
- 0 0 0 0   1 0 0 0 	(8)
---------------------
  0 0 0 0   1 1 1 1 	(?)	结果错误,8421码中没有1111对应的十进制

校正方法

当低4位相减,高4位产生借位时,借来的是16不是10,需要对低4位减上0110也即是6来人为的制造一个准确的借位

 0 0 0 0   1 1 1 1 
-0 0 0 0   0 1 1 0	(6)
-------------------
 0 0 0 0   1 0 0 1	(9)	校正后结果正确
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219614.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Kotlin之JSON格式解析

    kotlin解析json文件第一步:首先导入KlaXon库,官网地址是:https://github.com/cbeust/klaxon导入成功后我们将试着编译一个Json资源第二步:编译开始valJsonObjec=json{obj(“name”to“zhangsan”,“age”33)}这是第一种创建方式类似{“name”:“zhangsan”“age”=3…

    2022年4月9日
    575
  • Zxing.jar下载

    Zxing.jar下载版本3.3.3

    2022年7月13日
    17
  • 浅谈贝叶斯和MCMC

    浅谈贝叶斯和MCMC 转自:http://www.xuyankun.cn/2017/05/13/bayes/ Abstract:最近课业内的任务不是很多,又邻近暑假了,就在网上搜了一些有关于机器学习和深度学习的课程进行学习。网上的资料非常繁多,很难甄别,我也是货比三家进行学习。这是这个系列的第一个笔记,是关于贝叶斯和MCMC一些数学原理的讲解和代码的实现,希望能够深入浅出,叙述的容易让人理解。…(阅…

    2022年5月5日
    34
  • vue前端跨域解决方案有哪些_前端能完全解决跨域问题吗

    vue前端跨域解决方案有哪些_前端能完全解决跨域问题吗为什么会出现跨域:浏览器访问非同源的网址时,会被限制访问,出现跨域问题.常见的跨域有三种:jspn跨域,原理:动态生成script标签,通过script标签引入接口地址(因为script标签不存在跨域的)cors跨域(后端开启):全称“跨域资源共享”,原理:它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制vue代理服务器proxy跨域:通过请求本地的服务器,然后本地的服务器再去请求远程的服务器(后端部署接口的服务器),最后本地服务器再将请求

    2022年10月1日
    0
  • MemReduct内存自动清理工具

    MemReduct内存自动清理工具MemReductMemReduct是国外一款专业的内存清理软件,现在越来越多的软件由于硬件的普遍发展,对内存的使用都开始肆无忌惮起来,这对内存比较小的老电脑来说就非常不友好了,即使新电脑也会受不了,如果你的电脑也因为常常内存不足而卡顿,就来下载这款软件试试吧。也可以安装在服务器上,定期整理内存,保持内存空间舒畅。https://www.henrypp.org/product/memred…

    2022年7月16日
    26
  • 漫步微积分三十四——体积计算:圆柱壳法

    漫步微积分三十四——体积计算:圆柱壳法还有一种去体积的方法,往往它比上篇文章的方法更加方便。为了理解这种方法,考虑图1左边所示的区域,也就是,第一象限数轴和所示示曲线y=f(x)y=f(x)围成的区域。如果这个区域绕xx轴旋转,那么图中的垂直窄带生成一个圆盘,我们能够从x=0x=0到x=bx=b区间上积分这些圆盘的体积得到总体积。当然,这是上篇文章中描述的圆盘法。然而,如果区域绕yy轴旋转,就像图中间的那样,那么我们获得完全不同的物体,

    2022年6月7日
    49

发表回复

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

关注全栈程序员社区公众号