vendy.liu
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看vendy.liu的 主题 / 回贴
楼主  发表于: 2009-01-09 14:47
有谁知道BCD以及HEX数制的转换?
竹风凉
巧者劳,智者忧,无能者,无所求。蔬食者遨游,泛若不系之舟。
级别: 家园常客
精华主题: 0
发帖数量: 470 个
工控威望: 588 点
下载积分: 516 分
在线时间: 146(小时)
注册时间: 2008-10-16
最后登录: 2022-08-24
查看竹风凉的 主题 / 回贴
1楼  发表于: 2009-01-09 19:33
现将BCD转换为二进制
祸兮福所倚
福兮祸所伏
zxc6688
工业自动化是我们的目标
级别: 略有小成
精华主题: 1 篇
发帖数量: 385 个
工控威望: 338 点
下载积分: 3994 分
在线时间: 174(小时)
注册时间: 2007-09-11
最后登录: 2024-01-05
查看zxc6688的 主题 / 回贴
2楼  发表于: 2009-01-09 20:29
BCD码刚好对应HEX的二进制位
BCD123   二进制表示0001 0010 0011
16#123   二进制表示0001 0010 0011
http://zxc6688.ys168.com/
竹风凉
巧者劳,智者忧,无能者,无所求。蔬食者遨游,泛若不系之舟。
级别: 家园常客
精华主题: 0
发帖数量: 470 个
工控威望: 588 点
下载积分: 516 分
在线时间: 146(小时)
注册时间: 2008-10-16
最后登录: 2022-08-24
查看竹风凉的 主题 / 回贴
3楼  发表于: 2009-01-09 22:52
引用
引用第2楼zxc6688于2009-01-09 20:29发表的  :
BCD码刚好对应HEX的二进制位
BCD123   二进制表示0001 0010 0011
16#123   二进制表示0001 0010 0011

BCD 码大于9时是非法数字,计算机只认二进制,不转换,
运算会出错的
祸兮福所倚
福兮祸所伏
yun342703002
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看yun342703002的 主题 / 回贴
4楼  发表于: 2009-01-09 23:07
  
kingfeng1983
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看kingfeng1983的 主题 / 回贴
5楼  发表于: 2009-01-10 07:47
数值转换很重要
BDC
HEX
浮点数
ASCII
............................
zxc6688
工业自动化是我们的目标
级别: 略有小成
精华主题: 1 篇
发帖数量: 385 个
工控威望: 338 点
下载积分: 3994 分
在线时间: 174(小时)
注册时间: 2007-09-11
最后登录: 2024-01-05
查看zxc6688的 主题 / 回贴
6楼  发表于: 2009-01-10 08:36
引用
引用第3楼竹风凉于2009-01-09 22:52发表的  :

BCD 码大于9时是非法数字,计算机只认二进制,不转换,
运算会出错的

BCD码大于9?什么意思
BCD的每一位有大于9的吗
BCD码也叫8421码就是将十进制的数以8421的形式展开成二进制,大家知道十进制是0~9十个数组成,着十个数每个数都有自己的8421码:
  0=0000
  1=0001
  2=0010
  3=0011
  4=0100
  5=0101
  6=0110
  7=0111
  8=1000
  9=1001
  举个例子:
  321的8421码就是
  3 2 1
  0011 0010 0001
  原因:0011=8x0+4x0+1x2+1x1=3 0010=8x0+4x0+2x1+1x0=2. 0001=8x0+4x0+2x0+1x1=1
  具体:
  bcd码是十位二进制码, 也就是将十进制的数字转化为二进制, 但是和普通的转化有一点不同, 每一个十进制的数字0-9都对应着一个四位的二进制码,对应关系如下: 十进制0 对应 二进制0000 ;十进制1 对应二进制0001 ....... 9 1001 接下来的10就有两个上述的码来表示 10 表示为00010000 也就是BCD码是遇见1001就产生进位,不象普通的二进制码,到1111才产生进位10000
  举例:
  某二进制无符号数11101010,转换为三位非压缩BCD数,按百位、十位和个位的顺序表示,应为<U>__C</U>__。
  A.00000001 00000011 00000111 B. 00000011 00000001 00000111
  C.00000010 00000011 00000100 D. 00000011 00000001 00001001
  解:(1)11101010转换为十进制:234
  (2)按百位、十位和个位的顺序表示,应为<U>__C</U>__。
  附注:压缩BCD码与非压缩BCD码的区别—— 压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000B表示十进制数8.
本帖最近评分记录:
  • 下载积分:+1(竹风凉) 鼓励一下!
  • http://zxc6688.ys168.com/
    竹风凉
    巧者劳,智者忧,无能者,无所求。蔬食者遨游,泛若不系之舟。
    级别: 家园常客
    精华主题: 0
    发帖数量: 470 个
    工控威望: 588 点
    下载积分: 516 分
    在线时间: 146(小时)
    注册时间: 2008-10-16
    最后登录: 2022-08-24
    查看竹风凉的 主题 / 回贴
    7楼  发表于: 2009-01-10 19:29
    回6楼:
    楼主说的是HEX,
    16进制,A--F《1010--1111》在BCD码中是非法的,
    10进制在BCD使用中是没有非法数字的。
    愿闻高见
    祸兮福所倚
    福兮祸所伏
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158819 分
    在线时间: 3162(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-27
    查看sjm213的 主题 / 回贴
    8楼  发表于: 2009-01-11 10:28
    BCD123   二进制表示0001 0010 0011
    16#123   二进制表示0001 0010 0011

    BCD123≠16#123
    BCD123=10#123
    16#123=10#291

    10#123  二进制表示0000 0111 1011

    晕吧~
    竹风凉
    巧者劳,智者忧,无能者,无所求。蔬食者遨游,泛若不系之舟。
    级别: 家园常客
    精华主题: 0
    发帖数量: 470 个
    工控威望: 588 点
    下载积分: 516 分
    在线时间: 146(小时)
    注册时间: 2008-10-16
    最后登录: 2022-08-24
    查看竹风凉的 主题 / 回贴
    9楼  发表于: 2009-01-12 12:25
    引用
    引用第8楼sjm213于2009-01-11 10:28发表的  :
    BCD123   二进制表示0001 0010 0011
    16#123   二进制表示0001 0010 0011

    BCD123≠16#123
    BCD123=10#123
    .......

    还是你说的明白,呵呵/BCD123≠16#123
    祸兮福所倚
    福兮祸所伏