bcd码 php,转载:BCD码
BCD码
用4位二进制数来表示十进制数中的0~9这十个数码的编码形式,简称为BCD码。
BCD码全称
BCD码英文全称为Binary-Coded Decimal,简称为BCD码或者二-十进制代码,亦称为二进码十进数。
BCD码优点
这种编码形式使二进制和十进制之间的转换能够快捷进行。采用BCD码,既可保存数值的精确度,又可避免使电脑作浮点运算时所消耗的时间。
BCD码应用
最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串做准确的计算。也被用于其他需要高精度计算的场合。
大数计算等等问题可能都会应用到该问题。
有权码和无权码
有权码和无权码区别是每一位是否有权值。
例如,8421BCD码“0111=7”,0×8+1×4+1×2+1×1=7,8无权值,其他都有权值。
BCD码分类
(1)BCD码分为有权和无权两类:有权BCD码:8421码,2421码,5421码,...
无权BCD码:余3码,格雷码,...
其中,8421码是最常用的有权BCD码。
(2)BCD码又可分为压缩式和非压缩式两类。非压缩式一般是一个字节来表示,其中高四位置0,低四位表示相应数字。压缩式仅采用四位表示相应的数字。
8421码
其他较常用的BCD码
各种BCD码的特点
8421码编码直观,易于理解,最常用
5421码和2421码中大于5的数字都是高位为1,5以下的高位为0
余3码是在8421码基础上加上3,有上溢出和下溢出的空间
BCD码举例
以8421码为例。
(1)十进制数:123
对应的8421码为:0001 0010 0011
(2)8421码:0011 0010 0001
对应的十进制数为:321
8421码的进位
因为8421码中的9为1001,10为0001 0000,可见8421码遇见1001就产生进位。而普通的二进制码,到1111才产生进位10000。
BCD码运算
将BCD码传送给运算器运算时,需要进行修正。
修正规则为:当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;
如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;
如果相加时,本位产生了进位,也需加 6 进行修正。
运算举例
(1)计算1+2。
0 0 0 1
+0 0 1 0
0 0 1 1
结果为3,小于9,不需要修正。
(2)计算5+8。
0 1 0 1
+1 0 0 0
1 1 0 1
结果大于9,需加 6 进行修正。
1 1 0 1
+0 1 1 0
1 0 0 1 1
10011对应的十进制数为13。
参考资料
(1)百度百科:BCD码
--------------------- 本文来自 三五月儿 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yl2isoft/article/details/16916889?utm_source=copy
bcd码 php,转载:BCD码相关推荐
- java bcd码_java中BCD编码
Java中实现的BCD编码,供有兴趣的参考,欢迎批评指正 public class BCDCode { /** * * * @param bcd 数字字符串 * @return * @see [类.类 ...
- 计算机编程ebcdic码,EBCDIC和BCD码
EBCDIC EBCDIC(Extended Binary Coded Decimal Interchange Code)(扩展二进制编码的十进制交换码),是字母或数字字符的二进制编码,是 IBM 专 ...
- BCD码、8421码、余三码、格雷码
用四位二进制代码来表示一位十进制数,称为二--十进制编码,简称BCD(Binary Coded Decimal)码.根据代码的每一位是否有权值BCD码可分为有权码和无权码两类,应用最多的是8421BC ...
- BCD码 —— 8421码,余3码,2421码
引入 在计算机内部,数值数据的表示方法有以下两大类 直接用二进制数表示.无符号数用来表示无符号整数(如地址等信息):定点数用来表示整数:浮点数用来表示实数 二进制编码的十进制数.一般采用BCD码来表示 ...
- php bcd编码,什么是BCD码、8421码、余三码、格雷码
用四位二进制代码来表示一位十进制数,称为二--十进制编码,简称BCD(Binary Coded Decimal)码.根据代码的每一位是否有权值BCD码可分为有权码和无权码两类,应用最多的是8421BC ...
- 计算机中bcd的中文意思,BCD码
同义词 bcd(Binary-Coded Decimal缩写)一般指BCD码 BCD码(Binary-Coded Decimal),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二 ...
- php压缩bcd码,什么是BCD码,什么是压缩的BCD码?二者有什么区别?
在数字系统中,各种数据要转换为二进制代码才能进行处理,而人们习惯于使用十进制数,所以在数字系统的输入输出中仍采用十进制数,这样就产生了用四位二进制数表示一位十进制数的方法,这种用于表示十进制数的二进制 ...
- BCD码中的8421码 2421码 5421码和余3码的简单使用
BCD码 二进制编码的十进制数(Binary Code Decimal,BCD).通常采用4位二进制数来表示一位十进制数中的0~9这十个数.这种编码可以使二进制和十进制之间的转换得以快速进行.但是二进 ...
- BCD码-8421码、5421码、2421码、余3码
一.BCD码的转换原理 「BCD码」使用 4 位二进制来表示 1 位十进制,即使用 4 个位来存储一个十进制的值,使二进制和十进制之间的转换以快捷的进行. 比如 使用4位二进制 0000 表示 十进制 ...
最新文章
- Java 服务端推送消息有那么难吗?
- Ubuntu下安装make
- 事件绑定、事件监听、事件委托
- php5.6.16,OSX 10.11 中重新编译PHP5.6.16问题
- Wamp升级php到7.3版本
- 基于《悉尼协议》框架下Java课程案例教学研究
- 【Unity新闻】Unity发布白皮书《11种有效的玩家参与策略》
- springmvc中Date类型转换
- IE6 与 GZIP, BUG汇总
- 高等数学(第七版)同济大学 习题1-8 个人解答
- 2022快速计算机视觉EI国际会议汇总
- 寄人东篱下,愤然见南山
- WhatsApp使用教程
- 在SVG中旋转图形,需要设置各个图形的旋转中心点
- CSS3初级学习(二)背景图片叠加
- 腾讯优图api接口+Python SDK(1)
- Vue - 判断终端是否为:IE内核、opera内核、苹果、谷歌内核、火狐内核、是否为移动终端、ios终端、android终端、是否为iPhone或者QQHD浏览器、是否iPad、是否微信、是否QQ
- R语言在图上标出点坐标_R语言做图plot参数
- loadrunner 操作mysql_loadrunner学习笔记(从MYSQL中取数据)
- 滤波电容为什么要靠近放置,储能电容为什么均匀放置?去耦半径是什么?滤波电容如何打孔?