BCD码的作用和实现
内容部分摘抄于朱有朋老师
BCD码本质是对数字的一种编码,用来解决这种问题:由56得到0x56(或者反过来)。也就是说我们希望十进制的56被编码成56(这里56不是十进制的56,而是两个数字5和6)。
BCD的作用可以将十进制数拆成组成这个十进制的各个数字的编码,变成编码后就没有位数的限制了。譬如由一个很长的数123456789123456789,如果这个数当数字肯定超出int范围,计算机无法处理。想要让计算机处理这个数,计算机首先得能表达这个数,表达得方式是将这个数转成对应得BCD(123456789123456789 类似于字符串)
如何表示BCD编码?BCD码可以在计算机用十六进制形式表示,也就是十进制得56转成BCD后是56,在计算机中用0x56来表达。
简洁的地说BCD就是用16进制表示10进制的数 如99(1001 1001)
所以在编程中想让其表示10进制数, (x/10)*16 +(x)%100
如x是99 那么得到的结果是153,153的二进制是1001 1001(16进制表示出来的结果就是99),
当然如果是111呢,其16进制是6F,无法用16进制形式表示111,因为一个字节(8位)只能表示2个数。解决这个办法就是增加表示位数,第一步得到百位 x /100 ,(x/10)*16 +(x)%100,第二步得到个位和十位 x%100,(x/10)*16 +(x)%100。那么得到就是二进制(0001 0001 0001)。
百位 十位 个位
BCD码的作用和实现相关推荐
- 《计算机组成原理》BCD码 8421编码原理剖析
「作者主页」:士别三日wyx BCD码 1. BCD码的作用 2. BCD码的转换原理 3. 8421编码 3.1 8421编码的权重划分 3.2 8421编码的加法运算 3.3 8461编码的加6修 ...
- 什么是bcd码数据传输通讯_传输障碍| 数据通讯
什么是bcd码数据传输通讯 传输障碍 (Transmission Impairment) In the data communication system, analog and digital si ...
- C语言学习笔记06-占位符格式、C基本类型及逃逸字符一些细节(附介绍BCD码)
主要整理有关占位符格式与逃逸字符的一些细节 朋友们,看栗子--"BCD解码" (文末附BCD码介绍) 一个BCD数的十六进制是0x12(对应二进制表示:0001 0010),它表达 ...
- 什么是BCD码?BCD码的用处。怎么把BCD码转换成二进制值?
含义:用4位二进制数来表示数值中的1位(十进制数中的0~9这10个数字),简称BCD码,即BCD代码 也可以这样理解:就是将十进制的数以8421的形式展开成二进制(14 以8421形式展现成二进制就是 ...
- 从字符串中提取BCD码,转换为UINT数据并返回
C++ code: #include <iostream> #include <iomanip> #include <windows.h>using namespa ...
- HDLBits 系列(18) BCD码计数器的设计
目录 原题复现 审题 我的设计 原题复现 先给出原题: Build a 4-digit BCD (binary-coded decimal) counter. Each decimal digit i ...
- 单片机中如何将BCD码拆开_单片机二进制BCD码转换实验程序流程图
二进制BCD码转换 一.实验目的 1.掌握简单的数值转换算法 2.基本了解数值的各种表达方法 二.实验说明 单片机中的数值有各种表达方式,这是单片机的基础.掌握各种数制之间的转换是一种基本功.我们将给 ...
- 8086汇编4位bcd码_51单片机用汇编语言实现BCD码转换
一.BCD码简介: BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码.用4位二进制数来表示1位十进制数中的0~9这10个数码.是一种二进制的数字编码形式,用二进制 ...
- [计组]压缩BCD码指二进制编码的十进制
压缩BCD码指二进制编码的十进制 压缩BCD码指一个字节8位存储2位BCD码.比如32用8421BCD码表示如下:非压缩BCD码表示:00000011 00000010:压缩BCD码表示:0011 0 ...
最新文章
- 不懂复盘,十年经验等于零
- Entity Framework 4.1/4.3 之五 (DBContext 之 2 查询功能)
- 王者荣耀s15服务器维护,王者荣耀16日S15赛季更新内容
- php 简繁体转换类库,OpenCC for PHP 优雅的简繁体转换
- 把地图中的道路以线条提取出来_入围 ICRA 2019 最佳论文:MIT利用粗粒度地图实现自动驾驶...
- Android中访问通讯录,数据的增删改查
- nodejs计算时间间隔_Javascript计算时间差的函数分享
- python调用caffe时,出现ImportError: No module named _caffe
- ccf小明种苹果(续)
- Chrome插件:OneNote Web Clipper 搜集和整合碎片信息的神器
- 【斗地主 javascript js 斗地主 AI 人机 网页在线】基于专家系统的斗地主AI算法
- 苹果绕过ID_亲测:苹果手机绕过ID,到底能不能用?结果不太理想
- 优盘中发现计算机病毒怎么办,u盘插电脑中了病毒怎么办
- 软件设计师-6.结构化开发方法
- DM8168 Uboot使用EMAC1(TI源码使用默认的EMAC0)
- [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}=
- python中的占位符
- python的post请求中加参数_Python 模拟post请求
- 三轮DES差分攻击(免费完整代码)
- MVP模式 项目练习 Pas --新闻 音乐 图片 三个模块
热门文章
- ./和../以及/之间的区别?终于弄懂,写的很详细!!!
- SQLTableSource
- 毕设java 电脑配件购物商城论文
- c ajax 500,Ajax和jQuery中的C:\ fakepath \ *。*
- 【网易实习准备】往年笔试题目练习
- 对数组进行“整体赋值”
- 切断电源之后计算机丢失的,电脑断电重启找不到硬盘该咋办?
- 计算机教室是使用计划书,教师个人计算机学习计划书_老师计算机学习计划范文...
- 如何看待 Google 最新的系统 Fuchsia?
- Android 文字测量