数字电路-二进制转BCD码-程序员宅基地

技术标签: 后端  

BCD码实际上就是将原本的十进制数的每一位用一个4位二进制数表示,每一位0-9。

二进制4位能够表达的数字范围是0-15。

 

由此可见BCD码的一段与普通四位二进制来表示十进制位有6的进制差。所以这就是二进制转化为BCD码的关键所在。下面来讲讲主要步骤:

  • 先预估十进制数的位数,预先给BCD码分好段,此时的BCD码为空无任何数据
  • 接着讲原本的二进制数的最高位一端从BCD码的最低位端插入,也可以看作是将二进制数与BCD码同时左移每次将二进制的头砍掉补到BCD码最后,但个人觉得逐位插入更加形象~
  • 关键来啦,之前提到过BCD码每一个四位二进制(表示十进制的一位)存储范围是0-9,而原本的二进制四位的存储范围是0-15,所以二进制在逐位后端插入BCD码时,若BCD码的某一段(四位二进制)>9 则我们手动给该段+6强行使其进位满足BCD码的存储范围的要求--简单的说就是一直同时左移,某一段>9就+6。
  • 这里可以进行优化,就是常用的+3(+011)左移法,即在左移之前先判断本段是否>4(>0100),若大于则左移之后必然会超过9,所以在左移之前先在该段+3(+011),那么左移之后就已经实现了进位啦。
  • 就这么一直将二进制逐位从底端插入(左移),同时保持每段的范围在0-9内最终就能得到BCD码聊。

转载于:https://www.cnblogs.com/GorgeousBankarian/p/11583853.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30399821/article/details/102030171

智能推荐

学习公开视频-程序员宅基地

文章浏览阅读255次。linux内核网络协议栈实战:https://www.bilibili.com/video/av68721406?p=1华为网络工程师HCNA 拓扑实验与技术解析 #旧版:https://www.bilibili.com/video/av82658295?p=84【千锋】网络安全教程-网络安全基础全套(1)https://www.bilibili.com/video/av87045999?p=...

Docker_9988c銍廋c-程序员宅基地

文章浏览阅读2.4w次,点赞7次,收藏9次。Docker一、Docker介绍。引言开发环境和测试环境不同,环境不一致导致测试结果不同(解决环境不一致的问题)。多用户操作系统下会相互影响(实现多用户环境隔离)。非常多的服务器需要部署,逐一部署运维成本过高(降低运维成本)。软件安装复杂、配置多(解决安装软件成本过高)。起源创业公司dotCloud用Docker作为PASS平台,2013年因亚马逊、微软、谷歌都开始PASS平台。无法继续经营,将公司核心技术Docker开源。架构Docker三个重要组成部分:镜像(Image)._9988c銍廋c

Python学习基础知识之 元祖与字典介绍以及常见操作_如何定义全局元祖-程序员宅基地

文章浏览阅读293次。一、元祖的介绍1.1元祖Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。1.2访问元组元素1.3修改元组报错1.4元组的内置函数count, indexindex:检测 元素是否包含在元组中,如果是返回开始的索引值count:返回 元素在start和end之间 在 元组里面出现的次数1.4.1index (有坑)二、软件开发中的 字典变量info为字典类型: info = {'..._如何定义全局元祖

oracle 修改 /run/shm /dev/shm,巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!-程序员宅基地

文章浏览阅读171次。一.什么是tmpfs和/dev/shm/?tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势:1)动态文件系统的大小。2)tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。同时它也有一个缺点 t..._/run/shm

Java面试题全集(上)-程序员宅基地

文章浏览阅读771次。1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的

iPhone microphone输入事件捕获_kaudioqueueproperty_currentlevelmeterdb-程序员宅基地

文章浏览阅读3.8k次。目的:利用麦克风做为一种事件的输入方式核心:通过AudioSession与AudioQueue实现麦克风输入的数据捕捉.开启AudioSession:1. AudioSessionInitialize2. AudioSessionSetProperty(kAudioSessionProperty_AudioCategory)3. AudioSess_kaudioqueueproperty_currentlevelmeterdb

随便推点

mybatis 向oracle中插入clob/blob类型字段_mybatis oracle clob 和nclob 操作-程序员宅基地

文章浏览阅读4.1k次。xml配置文件:<mapper namespace="com.mapper.api.ProductLableDao"> <resultMap type="com.mapper.pojo.Test" id="BaseResultMap"> <result property="filed" column="col" jdbcT_mybatis oracle clob 和nclob 操作

[Asp.Net]WebService通过URL直接GET请求_net webservice 怎么get请求-程序员宅基地

文章浏览阅读1w次。WebService可以有Get、Post、Soap、Document四种方式调用,以下是四种方式的参照说明。name 属性 说明 HttpGet 添加HTTP GET协议 在追加到HTTP请求URL的查询字符串中传递的方法参数,格式为:?name1=value1&name2=value2...。返回值被当做简单的XML文档放入HTTP响应的正文中(没有)。 HTTPPost 添加HTTP P_net webservice 怎么get请求

10. AD/DA(spi协议)_ad和da分辨率的算法-程序员宅基地

文章浏览阅读927次。AD转换及SPI协议_ad和da分辨率的算法

全媒体运营师胡耀文教你:用户运营体系的推导思考_全媒体交互的客户运营-程序员宅基地

文章浏览阅读265次。体系,是一定范围内同类的事物按照秩序联系组合而成的整体。用户运营体系,则是用户需求与企业需求的结合,是面向双方的解决方案。规划用户运营的体系,其目的为理清业务运作模式及提前做好能力储备,便于后续进行产品规划。近期在思考体系规划时,也尝试着归纳符合逻辑且较为通用的方式。在分享前,先自我介绍一下,我是青岛艺形艺意文化传媒有限公司联合创始人、首席新媒体商学院创始人,资深新媒体运营人,腾讯网、百度网、今日头条、搜狐网、网易新闻、凤凰新闻等网站知名专栏作者胡耀文。今天胡老师主要围绕互联网保险为例,从设计运营模_全媒体交互的客户运营

通过 Serverless 加速 Blazor WebAssembly_blazor webassembly 性能真的会很快吗?-程序员宅基地

文章浏览阅读1.5k次。本文为 Serverless 社区成员撰稿。作者杨舜杰,系统架构研发工程师,开源爱好者,.NET 开源项目 shriek-fx 作者Blazor Serverless我正在开发 Ant Design 的 Blazor 版本,预览页面部署在 Github Pages 上,但是加载速度很不理想,往往需要 1 分钟多钟才完成。项目地址:https://github.com/ElderJam..._blazor webassembly 性能真的会很快吗?

业务分析与DAO层_业务dao-程序员宅基地

文章浏览阅读350次。业务分析与DAO层1. 创建Maven项目和依赖1.1 修改pom.xml文件添加项目需要的jar包依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/_业务dao

推荐文章

热门文章

相关标签