1. 十进制转2421码:小于4不考虑使用最高位,从最高位向最低位依次相减。

  如3=2+1,为0011;7=2+4+1,为1101

  2. 十进制5211码:按照最高位,次高位,最低位,次低位的顺序依次相减

  如6=5+1,为1001,7=5+2,为1100

  3. 格雷码转换

  介绍:http://blog.csdn.net/jingfengvae/article/details/51691124

  证明格雷码相邻的两个数中不同的位数只有1位:http://www.cnblogs.com/cmyg/p/6565627.html

二/十进制转格雷码:

  

s -> t

t=s ^ (s >> 1);

t=

    s[3] s[2] s[1] s[0]

xor          s[3] s[2] s[1]

//////////////////////////////////////////////////////////////////////

格雷码转二/十进制:

s -> t

t=s;

while (s>>=1)
        t^=s;

其实t[3]=s[3]  t[2]=t[3] xor s[2] = s[3] xor s[2]  t[1]=t[2] xor s[1] = s[3] xor s[2] xor s[1]  t[0]=t[1] xor s[0] = s[3] xor s[2] xor s[1] xor s[0]

t=

    s[3] s[2] s[1] s[0]

xor      s[3] s[2] s[1]

xor             s[3] s[2]

xor           s[3]

  xor满足交换律,结合律:http://www.cnblogs.com/cmyg/p/6565618.html

文件下载地址:http://pan.baidu.com/s/1nu6Hydz

BCD码(如何转换,转换方式的证明)的更多相关文章

  1. 基于Verilog HDL的二进制转BCD码实现

    在项目设计中,经常需要显示一些数值,比如温湿度,时间等等.在数字电路中数据都是用二进制的形式存储,要想显示就需要进行转换,对于一个两位的数值,对10取除可以得到其十位的数值,对10取余可以得到个位的数 ...

  2. 事件日期转BCD码

    BCD码 BCD码 BCD码 射频卡编码方式

  3. Linux时间戳转换成BCD码(转载)

    #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> / ...

  4. C#下16进制和BCD码转换代码

        private static Byte[] ConvertFrom(string strTemp) { try { if (Convert.ToBoolean(strTemp.Length & ...

  5. 二进制 转换成十进制 BCD码(加3移位法)

    "原来的二进制数十几位,则左移时就要左移几位" "二进制数调整BCD码的方法是将二进制码左移8次,每次移位后都检查低四位LSD+3是否大于7,如是则加3,否则不加,高4位 ...

  6. 一种BCD码转换的算法

    #include "stdio.h" typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef ...

  7. Babel 转码器 § es6转换es5

    Babel 转码器 § es6转换es5 实时转码 /  Repl  -babel-node / babel-register(自动转码引入babel-register模块) 配置文件.babelrc ...

  8. 在上传文件时候 request.setCharset对文件名有效 对普通文本域无效 需要通过手动转换编码方式编码

    在上传文件时候 request.setCharset对文件名有效 对普通文本域无效 需要通过手动转换编码方式编码

  9. Java & C# BCD编码与十进制转换

    using System;using System.Collections.Generic;using System.Text; namespace Base{ public class BCDHel ...

  10. FPGA加三移位算法:硬件逻辑实现二进制转BCD码

    本文设计方式采用明德扬至简设计法.利用FPGA来完成显示功能不是个很理想的方式,当显示任务比较复杂,要通过各种算法显示波形或者特定图形时,当然要用单片机通过C语言完成这类流程控制复杂,又对时序要求不高 ...

随机推荐

  1. MongoDB日常运维操作命令小结

    总所周知,MongoDB是一个NoSQL非数据库系统,即一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表:而每个集合中可以存储一组由列标识的记录,列是可以自由定义的, ...

  2. 作业20171019 alpha-1成绩

    申诉 对成绩有疑问或不同意见的同学,请在群里[@杨贵福]. 申诉时间截止2017年11月21日 12:00. 总结 普遍成绩有明显上升,归功于1. 团队全都超额完成1次站立会议,多数团队完超额2次; ...

  3. [what is machine learning?]

    1.2 [what is machine learning?] 1.人:observation -->  learing  -->  skill 机器:data --> ML --& ...

  4. githup地址

    githup地址:https://github.com/caowenjing/test.git

  5. Tomcat7注册为Linux服务

    https://www.openprogrammer.info/2015/06/14/how-to-install-java-8-and-tomcat-8-on-centos-6-as-service ...

  6. Java 线程内 递归 Bug 一例

    一个线程的run方法里使用递归方法,出了Bug. private boolean ispass(String creationId){ List<Map> maps =creationSe ...

  7. .NET Framework 版本和依赖关系[微软官方文档]

    .NET Framework 版本和依赖关系 微软官方文档: https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/ver ...

  8. Linux 文件系统概览

    本文导航 -定义07% -文件系统的基本功能12% -目录结构26% -Linux 统一目录结构50% -文件系统类型74% -挂载81% -结论90% -下个月92%   本文旨在高屋建瓴地来讨论 ...

  9. ionic3应用的Android打包签名发布步骤

    版权声明:本文为博主原创文章,未经博主允许不得转载. 当我们的ionic应用开发结束之后,就要开始上线到应用市场,那么Android的发布步骤具体是怎么样的呢? 1)编译 运行命令行: ionic c ...

  10. error eslint@5.12.0: The engine "node" is incompatible with this module.

    初始化 react项目时报错: error eslint@5.12.0: The engine "node" is incompatible with this module. E ...