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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c++sscanf函数_c语言字符串常用函数

    c++sscanf函数_c语言字符串常用函数在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。以下源代码是本人测试的源文件,附带讲解注释。/************************

    2025年6月11日
    1
  • 2 NICs on same subnet

    2 NICs on same subnet

    2021年8月12日
    63
  • pycharm卸载再安装_pycharm双击无法打开

    pycharm卸载再安装_pycharm双击无法打开今个发现原来下载的2017版的pycharm过期了,用一会就闪退,emmm。就想下一个新的进行迭代,结果安装好并重启了,软件就是打不开…方法一1.打开C:\Windows\System32;以管理员身份运行cmd.exe;2.在打开的cmd窗口中,输入netshwinsockreset,按回车键;3.重启电脑;博主使用这个方法后,双击后还是不行。随即用了方法二,如下:方法二只需要打开C:\Users\admin后面的admin换成你自己的当前用户名(如下图),然后把所

    2022年8月29日
    1
  • 数据建模方法及步骤图_comsol建模步骤教程

    数据建模方法及步骤图_comsol建模步骤教程何为建模?数据几乎总是用于两种目的:操作型记录的保存和分析型决策的制定。简单来说,操作型系统保存数据,分型型系统使用数据。前者一般仅反映数据的最新状态,按单条记录事务性来处理;其优化的核心是更快地处理事务。后者往往是反映数据一段时间的状态变化,按大批量方式处理数据;其核心是高性能、多维度处理数据。通常我们将操作型系统简称为OLTP(On-LineTransactionProcessing)…

    2022年9月16日
    1
  • 脑电独立成分分析(independent component analysis)「建议收藏」

    脑电独立成分分析(independent component analysis)「建议收藏」相比其它成像方法,EEG更为便捷低价,无论是拿erp成分还是做时频分析,提高信噪比始终是EEG分析的重点。将ICA应用在EEG分析中,可以较好的识别并去掉眼动和其它噪音(heartbeat,linenoise,musclenoise)。但对ICA分析前的预处理和后期成分的识别,缺少详细的说明。以下的分析方法主要参考EEGLAB给的非官方说明,tutorial的第九章和第十章,BoyLu…

    2022年5月17日
    34
  • 操作系统进程有若干个状态,若一个进程_进程和线程的概念

    操作系统进程有若干个状态,若一个进程_进程和线程的概念第二章进程管理-进程、线程进程的概念进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。(线程是调度的基本单位)程序:是静态的,是一个存放在磁盘里的可执行文件,是一系列指令的集合进程:是动态的,是程序的一次执行过程

    2022年9月3日
    3

发表回复

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

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