请教一个BCD码(8421码)的问题 [问题点数:50分,结帖人csshow]

Bbs2
本版专家分:108
结帖率 100%
Bbs3
本版专家分:641
Bbs2
本版专家分:108
Bbs2
本版专家分:108
Bbs2
本版专家分:268
Bbs5
本版专家分:2399
Blank
蓝花 2018年7月 C/C++大版内专家分月排行榜第三
2014年7月 Java大版内专家分月排行榜第三
Bbs12
本版专家分:381389
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
关于8421问题
<em>问题</em>一:比如1234,转换为8421后应该是0001 0010 0011 0100 (1234) 还是应该是0010 0001 0100 0011(2143)?rn<em>问题</em>二:如果是数字位数是奇数,比如123,应该是0001 1111 0010 0011 (1f32)还是应该是0010 0001 0011 1111 (213f)?rnrn谢谢!
BCD与BIN
BIN<em>码</em>就是二进制编<em>码</em>。比如十进制数的11,用BIN<em>码</em>表示就是1011;左边的1表示十制的8,左边第三位的1表示十制的2,左边第四位的1表示十制的1, (即 8+2+1=11) <em>BCD</em><em>码</em>就是用四位二进制数表示一位十进制数的编<em>码</em>,比如十进制数11用BCE<em>码</em>表示就是00010001;前面的0001表示十进制的十位的1,后面买的0001表示十进制的个位的1....
8421转换余三
这是我做的<em>一个</em>小程序,想实现8421转换余三<em>码</em>
BCD
<em>BCD</em><em>码</em>是二进制表示十进制的代<em>码</em>,因为计算机是二进制存储十进制的,所以<em>BCD</em><em>码</em>就是<em>一个</em>4位二进制<em>码</em>,但却表示十进制的<em>一个</em>数字 8421<em>BCD</em><em>码</em>,就是4位<em>BCD</em><em>码</em>中每一位二进制代表的数字,所以叫8421<em>码</em>,如1010,就是1*8+0*4+1*2+0*1=10,括号里乘号后面跟着8421; 2421<em>BCD</em><em>码</em>、5421<em>BCD</em><em>码</em>与8421<em>BCD</em><em>码</em>一样是带权值,只不过将8421换成2421或5421,如
BCD
1 左发动机总循环数第<em>一个</em>八位字节 <em>BCD</em><em>码</em> 十位、个位 rn2 左发动机总循环数第二个八位字节 <em>BCD</em><em>码</em> 千位、百位 rn3 左发动机总循环数第三个八位字节 <em>BCD</em><em>码</em> 十万位、万位位 rn1 2 3表示字节序列 左发动机是<em>一个</em>参数名rn原来得到这三个字节的函数是这样的 void CMainFrame::Set3<em>BCD</em>Value(BYTE* p<em>BCD</em>,unsigned long Val)rnrn BYTE b0,b1,b2;rn b0=BYTE((Val%10000)%100);rn b1=BYTE((Val%10000)/100);rn b2=BYTE(Val/10000);rn p<em>BCD</em>[0]=b0/10*16+b0%10;rn p<em>BCD</em>[1]=b1/10*16+b1%10;rn p<em>BCD</em>[2]=b2/10*16+b2%10;rnrn rn远志 10:08:42rn现在的协议改为 1 左发动机总循环数第<em>一个</em>八位字节 <em>BCD</em><em>码</em> 十分位、百分位 rn2 左发动机总循环数第二个八位字节 <em>BCD</em><em>码</em> 十位、个位 rn3 左发动机总循环数第三个八位字节(删除十万位、万位) <em>BCD</em><em>码</em> 千位、百位 rn你帮我改一下 呵呵 rn
BCD
<em>一个</em>8位的机器数10000000,表示<em>BCD</em><em>码</em>真值是多少?rn什么是<em>BCD</em><em>码</em>,格式是什么?
关于8421的顺序问题
<em>问题</em>一:比如1234,转换为8421后应该是0001 0010 0011 0100 (1234) 还是应该是0010 0001 0100 0011(2143)?rn<em>问题</em>二:如果是数字位数是奇数,比如123,应该是0001 1111 0010 0011 (1f32)还是应该是0010 0001 0011 1111 (213f)?rnrn谢谢!
关于BCD一个问题
buffer中的<em>一个</em>字符串,我以cstring类型输出,是乱<em>码</em>,rnultraedit用十六进制显示ok。rn请问如何将这个<em>BCD</em><em>码</em>转换成cstring类型,正常在文件或者messagebox中显示出来?rn谢谢
一个BCD显示的问题
现在 dim lpDataBuf as BYTE rn lpdataBuf 中存放了个<em>BCD</em><em>码</em> 60Hrn如何可以rn通过 List.AddItem lpdataBuf rnlist中显示出60rn rn 大家帮忙!rn
8421转化为5421
用maxplus将8421<em>码</em>转化为5421<em>码</em>,求和,后再转化为8421<em>码</em>输出
BCD转ASCII
试编程实现:将存放在字节型变量NUM中的二位<em>BCD</em><em>码</em>转换为ASCII<em>码</em>,并将转换结果以“(NUM)=**H”形式显示在屏幕上(如NUM=00010010B,其屏幕上应显示:(NUM)=3132H)。
BCD 问题
用户在界面输入数字4位的 , 程序里要转成<em>BCD</em><em>码</em>放到下面变量里,如何转换? 比如用户rn输入 5913, 0120 ,转成<em>BCD</em><em>码</em>是多少?rnunsigned int CARD_NO; //卡号(<em>BCD</em><em>码</em>,0~60000);rnrn
关于bcd问题!
请问bcd<em>码</em>有什么应用?压缩和非压缩的用途又各是什么?有什么区别?谢谢您能详细回答!
BCD与ASCII 的转化
请问bcd<em>码</em>与ascii <em>码</em>之间是怎么转换的?
有关BCD问题
各位大侠,小弟正在作有关串口通信的项目,用的是SPCOMM控件。现在有个<em>问题</em>,就是要把发送的数据组织成<em>BCD</em><em>码</em>的格式,但显示的还是整形数。例如:通信协议rn头是:0A DO rn中间的数据部分是XX XX ..... SUM , 每个XX是<em>一个</em>字节的整形数,例如:15、67等等,SUM是校验和,前面的若干个XX的或运算结果。rn现在关键的是15的编<em>码</em>格式是按<em>BCD</em><em>码</em>编<em>码</em>的,而不是计算机默认的16进制的,比如:rn15 or 67 的运算结果必须是77 即01110111,而计算机默认的是按每个数的16进制的编<em>码</em>方式来作或运算的,所以计算机默认的15 or 67 的结果是79 ,即01001111。所以,我的<em>问题</em>是怎么才能使15 or 67 的结果是77 ,而不是79,当然SUM就是16进制的。因为我的程序是要和下位机通信,它要求的数据格式就是<em>BCD</em>格式的。DElphi提供的T<em>BCD</em>我也看了,但用了还是不行。那是不是要用到TBits,还望各位下侠指点,分不多了。谢谢! rnrn小弟还有<em>一个</em><em>问题</em>,我的Form上有100个Edit,每个Edit输入<em>一个</em>整数,范围是0到2的32次方,然后将每个Edit中的整数转为八字节的十六进制字符串,例如:输入1234,转为000004D2。接着再把转化后的十六进制字符串放到四个字节里,如:$00,$00,$04,$D2,这样总共下来就是400字节的十六进制数,最后通过串口发送。我想问的是,哪位大侠有好的算法,能比较好的将100个Edit的内容摆成400字节的十六进制数,小弟不胜感激,谢谢!小弟没分了,还望各位大侠谅解。 rn
BCD问题
在下在做串口通讯时,往串口中写<em>BCD</em><em>码</em>。rn希望各位大侠给我讲一讲原理,并加一些实现ASCII<em>BCD</em>的转换代<em>码</em>。rn或者指出那里有相关内容也行。rn分数相送。
2421到8421转换电路的设计
本课程设计采用若干逻辑门设计2421<em>码</em>到8421<em>码</em>的转换电路,用4个二极管显示输出状态,同时采用74LS48译<em>码</em>电路。
BCD转换为ASCII问题
大家好,请问怎么将<em>BCD</em><em>码</em>数据转换为ASCII<em>码</em>。rn多谢!
BCD文件转换为ASCII问题
大家好!请问怎么将<em>BCD</em><em>码</em>文件转换为ASCII<em>码</em>。rn多谢!
BCD、ASC转换问题
一、13年05月22日15时15分22秒 用130522151522表示 怎么转成6位的<em>BCD</em><em>码</em>?rn二、int型的 120302231 怎么转成 ASC<em>码</em>表示?
8421(快速的进制转换法)
8421<em>码</em>
请教BCD与ASC互相转换问题?
接收到的外部数据为<em>BCD</em><em>码</em>,需在设备上显示为ASC<em>码</em>rnrn同样,发送时需将ASC<em>码</em>转换为<em>BCD</em><em>码</em>发送出去rnrn<em>请教</em>各位相关算法,谢谢
A的8421是多少?在线!
-
请教BCD转为十进制的问题
8421组合<em>BCD</em><em>码</em>,想转为十进制rndim a as byte =&h18 (十位为1 ,个位为8)rn程序写法:rn 十位 个位rndim b as integer = ((a And &HF0) /16 )*10 + a And &HFrnrnmsgbox((((a And &HF0) /16 )*10).Tostring ) 得出结果为 1rnmsgbox((( a And &HF).Tostring ) 得出结果为8rnmsgbox(b.tostring) 得出结果为2rnrnrn当我把代<em>码</em>改成rn 十位 个位rndim b as integer = CByte(((a And &HF0) /16 )*10) +CByte( a And &HF)rnmsgbox((((a And &HF0) /16 )*10).Tostring ) 得出结果为 1rnmsgbox((( a And &HF).Tostring ) 得出结果为8rnmsgbox(b.tostring) 得出结果为18rnrnrn只要我的个位小于等于5, 我用rndim b as integer = ((a And &HF0) /16 )*10 + a And &HFrn可以得到正确的十进制值,大于16后就会有<em>问题</em>,rnrnrn请个位大大帮忙分析一下为什么会这样?rn
请教字节转BCD问题
怎样将1个字节 转换成<em>BCD</em><em>码</em>啊?
请教BCD相乘的问题,在线等待
要求被乘数,乘数以组合的<em>BCD</em><em>码</em>形式存放,各占<em>一个</em>内存单元,乘积放在另外两个内存单元中
问下8421一个算法~~~~~求助~~~~~
有个签到功能,数据库里设计了<em>一个</em>字段int,用来保存<em>一个</em>月里面的签到情况。rn请问如何用8421<em>码</em>来进行操作插入更新和判断啊??rnrn比如判断<em>一个</em>月内签到几天的情况。具体哪天签到的情况。
BCD 的应用
大家都知道在计算机里面都是使用二进制,其实,8086/8088 CPU 也可以使用十进制进行计算的。在计算机中的十进制数称为 <em>BCD</em> <em>码</em>,它是使用四位二进制数,表示一位十进制数字。常见的 <em>BCD</em> <em>码</em>是 8421 <em>码</em>。即:0000 ~ 1001 分别代表 0 ~ 9。<em>一个</em>字节有 8 位数,可以代表两位十进制数,即:0000 0000 ~ 1001 1001,分别代表 0 ~ 99。二进制的写法,太长
bcd大数计算源
bcd大数计算源<em>码</em>(vb) 加法 减法 乘法 除法
bcd相乘的汇编程序
实现bcd<em>码</em>相乘,用于微机接口的课设题目
汇编语言BCD加法
把两个非压缩<em>BCD</em><em>码</em>组合成<em>一个</em>压缩<em>BCD</em><em>码</em>
BCD加法器
<em>BCD</em><em>码</em>加法器 在计算机内部,出于存储和计算方便的目的,采用基2<em>码</em>对十进制数进行重新编<em>码</em>,最少需要基2<em>码</em>的位数为log210,取整数位4 ,4位基2<em>码</em>有16种表示方法。 十进制数的几种4位编<em>码</em> 8421<em>码</em>又称<em>BCD</em><em>码</em>,是十进制代<em>码</em>中最常用的一种。在这种编<em>码</em>方式中,每一位二值代<em>码</em>的1都表示<em>一个</em>固定数值,将每一位的1代表的十进制数加起来,得到的结果就是它所代表的十
BCD调整
<em>BCD</em><em>码</em>中的调整为什么都是加6呢?
BCD转换成浮点型
如题,如果<em>一个</em>数组为unsigned char str[4]=0x00,0x01,0x02,0x03,如何转换成102.03或者10.203或者0.10203,最好是能够通用的
BCD转换器74ls47
<em>BCD</em><em>码</em>转换器74ls47 <em>BCD</em><em>码</em>转换器74ls47 <em>BCD</em><em>码</em>转换器74ls47
C# BCD,16进制???
现在有这样<em>一个</em>功能需要实现,功能要求如下:rn获取当前PC的时间(年,月,日,时,分,秒),分别转换成<em>BCD</em><em>码</em>,然后组合校时报文发送至终端!rn<em>问题</em>:rn1,我现在转换了<em>BCD</em><em>码</em>,假设其中<em>一个</em>数转换之后得到string str<em>BCD</em> = “00001001”,我该怎样变成0xFF(假设这个是这个值)。rn2,string str<em>BCD</em> = “00001001” 怎么转成 byte b = 00001001 ?rn3,这其中的计算过程是怎样的?rn 麻烦高人赐教,谢谢!
ASC与BCD的转化
这段代<em>码</em>是正确的,现在需要在处理的字符中增加<em>一个</em>等于号,原来可以处理的数据是:1234567890 abcdef ,现在需要处理的数据是:1234567890 = abcdefrn rnpackage Lib.AscBcd;rnrn/**rn* @功能: ASC与<em>BCD</em><em>码</em>的转化rn* @生产者: ***rn* @生产时间: 2006-3-23rn*/rnpublic class AscBcd rnrn /**rn * @功能: 构造体rn */rn public AscBcd() rn rnrn /**rn * @param argsrn */rn public static void main(String[] args)rn rn String sTestData = "1234567890=1";rn byte b<em>BCD</em>[] = new byte[sTestData.length()];rnrn b<em>BCD</em> = str2Bcd(sTestData);rn String str = bcd2Str(b<em>BCD</em>);rn System.out.println("原数据:" + sTestData);rn System.out.println("原数据:" + sTestData.getBytes());rn System.out.println("Bcd:" + b<em>BCD</em>);rn System.out.println("ASC:" + str);rnrn System.out.println("========================================");rnrn sTestData = "=A<em>BCD</em>EF0123456789abcdef";rn b<em>BCD</em> = str2Bcd(sTestData);rn str = bcd2Str(b<em>BCD</em>);rn System.out.println("原数据:" + sTestData);rn System.out.println("Bcd:" + b<em>BCD</em>);rn System.out.println("ASC:" + str); rn rnrn /**rn * @函数功能: 10进制串转为<em>BCD</em><em>码</em>rn * @输入参数: 10进制串rn * @输出结果: <em>BCD</em><em>码</em>rn */rn public static byte[] str2Bcd(String asc) rnrn // 原数据的长度rn int len = asc.length();rn int mod = len % 2;rnrn if (mod != 0) rn asc = asc + "0";rn len = asc.length();rn rnrn // 原数据rn byte bOriginalData[] = new byte[len];rn if (len >= 2) rn len = len / 2;rn rnrn // 将字符串数据转换成字节数据rn bOriginalData = asc.getBytes();rnrn // 转换后的<em>BCD</em><em>码</em>rn byte b<em>BCD</em>[] = new byte[len];rnrn int sH, sL;rnrn for (int p = 0; p < asc.length()/2; p++) rnrn if ( (bOriginalData[2 * p] >= 'a') && (bOriginalData[2 * p] = 'A') && (bOriginalData[2 * p] = 'a') && (bOriginalData[2 * p + 1] = 'A') && (bOriginalData[2 * p + 1] << 4) + sL);rn rn return b<em>BCD</em>;rn rnrn /**rn * @函数功能: <em>BCD</em><em>码</em>串转化为字符串rn * @输入参数: <em>BCD</em><em>码</em>rn * @输出结果: 10进制串rn */rn public static String bcd2Str(byte[] bytes) rn char temp[] = new char[bytes.length*2], val;rnrn for(int i = 0; i < bytes.length; i++)rn val = (char)(((bytes[i]& 0xf0) >> 4)&0x0f);rn temp[i * 2] = (char)(val > 9 ? val + 'A' - 10 : val + '0');rnrn val = (char)(bytes[i]& 0x0f);rn temp[i * 2 + 1] = (char)(val > 9 ? val + 'A' - 10 : val + '0');rn rn return new String(temp);rn rn
关于BCD的若干问题
最近遇到了<em>BCD</em><em>码</em>转换上的若干<em>问题</em>,rn请问哪位大侠是否有 ASCii<em>码</em>与<em>BCD</em><em>码</em>之间转换的源<em>码</em>,可否发一份。。rn邮箱:FanHJ@clshops.comrn先谢了。。。
BCD修复工具
计算机进不去系统很多情况下是引导文件损坏而致,这是一款强大的修复工具;有了它妈妈再也不用怕你的系统进不去了。
Scalinge(BCD)
在PLC上<em>BCD</em><em>码</em>转换时很好!只要添加在软件库里就可以用了!
BCD查询表
<em>BCD</em><em>码</em>查询表,JPG格式截图。
bcd变成16进制
单片机at89c51,用汇编语言把bcd<em>码</em>变成十六进制数的编程方法
[计算机原理]BCD减法
  <em>BCD</em><em>码</em>减法也可用补<em>码</em>运算代替,原理和之前写过的八位二进制数补<em>码</em>运算原理相同。   八位二进制数的范围是00H~FFH,八位<em>BCD</em><em>码</em>的范围是00H~99H,也可以像补<em>码</em>运算一样画<em>一个</em>时钟,起点是00H,00H逆时针的第<em>一个</em>数是99H。只要有时钟,就可以用补<em>码</em>运算规则,那么<em>BCD</em><em>码</em>的补<em>码</em>如何求呢,看下图,红色弧线便是08H的补<em>码</em>,计算方法是99H+01H-08H = 9AH - 08H,所以用...
十六进制数据转换BCD
PIC汇编语言将十六进制数据转换成<em>BCD</em><em>码</em>的子程序,由于16位以下的PIC汇编语言没十进制调整语句,所以必须做成子程序
BCD和十进制的相互转换
<em>BCD</em><em>码</em>和十进制的相互转换 static unsigned char bcd_decimal(unsigned char bcd) { return bcd-(bcd >> 4)*6; } static unsigned char decimal_bcd(unsigned char decimal) { return (unsigned char) (
BCD的加法和减法
什么是<em>BCD</em><em>码</em>? <em>BCD</em><em>码</em>以四位二进制数视作<em>一个</em>十进制位 【例】<em>BCD</em><em>码</em>0011 0100(二进制)、34H(十六进制)表示34(十进制) <em>BCD</em><em>码</em>的加法 <em>BCD</em><em>码</em>修正规则如下: (1) 若两个8421<em>码</em>数相加之和等于或小于1001,不需修正。 (2) 若相加和在10-15之间,一方面应向高位产生进位,本身还要进行加6修正,进位是在加6修正时产生的。 (3) 若相加之和在16-...
BCD与10进制转换
关于<em>BCD</em><em>码</em>,本文不做解释。本文只介绍8421 <em>BCD</em><em>码</em>与10进制的转换。 1、8421 <em>BCD</em>转10进制 unsigned char bcd_to_hex(unsigned char data) { unsigned char temp; temp = ((data&amp;gt;&amp;gt;4)*10 + (data&amp;amp;0x0f)); return temp; } ...
串口与BCD
在程序中用mscomm32.ocx,接收ASC<em>码</em>很正常,现在设备改为通过串口向外发送<em>BCD</em><em>码</em>,rn数据格式如下:一次五帧,每帧11位,1位起始位(0),8位数据位(D0--D7),2位停止rn位(1)。第一帧是起始位(0FFH)、第二帧表示状态、第三、四、五帧是数据值的<em>BCD</em><em>码</em>,rn怎么也接收都不能显示数据,(通过win98自带的拨号终端可看到有乱<em>码</em>发送到串口,rn说明设备工作正常),程序如下(主要内容,也是参照网上找到VB的打关源<em>码</em>修改的),rn请高手找找<em>问题</em>出在哪了?rn1、在开始接收按钮click事件中:rnrnole_1.object.Settings="2400,n,7,1"rnole_1.object.PortOpen=truernole_1.object.InBufferSize=40rnole_1.object.InputMode =1 //接收二进制数据rnole_1.object.Rthreshold=1 rnrnole_1.object.InputLen = 1rnole_1.object.inbuffercount=0rn2、在mscomm32.ocx的oncomm事件中rnany lany_put[]rnint b1,b2,wwrnstring ls_put,ab[]rnblob avrnlong ll_wzrnrnif ole_1.object.CommEvent=2 then rn av=ole_1.object.Input rn ab[1] = char(av)rn If ab[1] = "0FFH" Then rn// st_1.text="已找到数据位"rn// '判断是否为数据开始标志rn ole_1.object.RThreshold = 0 rn// '关闭OnComm事件接收rn DO UNTIL ole_1.object.InBufferCount >= 5rn yield()rn LOOPrn end ifrnrn av = ole_1.object.Inputrn ab[2] = char(av) rn av = ole_1.object.Input rn ab[3] = char(av) rn av = ole_1.object.Input rn ab[4] = char(av)rn av = ole_1.object.Input rn ab[5] = char(av) rn// '转换保存到字节数据类型数组 rn b1 = dec(ab[3]) - 6 * (dec(ab[3])/16) rn// '高位字节压缩<em>BCD</em><em>码</em>转换为实数rn b2 = dec(ab[4]) - 6 * (dec(ab[4])/16) rn// '低位字节压缩<em>BCD</em><em>码</em>转换为实数rn WW = b1 + b2 / 100 rn sle_1.text=string(b1)rn ole_1.object.RThreshold = 1 rn// '打开MSComm1事件接收rn rnend ifrnrnrn
ascii 与 bcd 的互换
void bcd2ascii(const unsigned char *bcd, unsigned char *asc, int len)rnrn unsigned char c;rn int i=0;rn for(i=0; i>4) < 9 )rn *(asc+2*i) = (c>>4) + '0';rn elsern *(asc+2*i) = (c>>4) + '0' + 7;rn if( (c&0xF) < 9 )rn *(asc+2*i+1) = (c&0xF) + '0';rn elsern *(asc+2*i+1) = (c&0xF) + '0' + 7;rn rnrnrnvoid ascii2bcd(const unsigned char *asc, unsigned char *bcd, int len)rnrn int i;rn unsigned char c1, c2;rn for(i=0; i 9 )rn c1=c1-7;rn c2 = asc[i+1]-'0';rn if( c2 > 9 )rn c2=c2-7;rn rn bcd[i/2] = ( c1<<4 ) | ( c2&0xF );rn rn
BCD的运用
ORG  0100H      rn MOV  R1, #50H      rn MOV  R0, #60H       rnCLR  C       rnCALL BSUB       rnMOV  40H, Arnrnrn           .           .           . rnBSUB: MOV  A, #9AH       rnSUBB A, @R0      rn ADD  A, @R1      rn DA   A      rn INC  R0      rn INC  R1      rn CPL  C      rn RETrn这段单片机代<em>码</em>我没看太明白,哪位大神能给点提示,非常感谢!
二进制转换成BCD
麻烦我想问下下面这两个二进制<em>码</em>怎么转换成<em>BCD</em><em>码</em>和ASC<em>码</em>rn1)0011 0110rn2)1011 0011rn注意<em>BCD</em><em>码</em>和ASC<em>码</em>都要哦rnrnrn[color=#0000FF]给个例子,学校的参考答案这个题目是这样的rn0100 1000rn<em>BCD</em><em>码</em>:72HrnASC<em>码</em>:3438Hrn我实在是看不懂参考答案是怎么算出来的rn不知道这参考答案对不对[/color]rnrn
有关压缩的BCD问题
string str = "=599d19=";rnbyte [] bt = new byte[4];rn如何将str放到4字节的bt里????rn
串口接收数据BCD问题
<em>请教</em><em>一个</em><em>问题</em>,通过串口读取设备数据得到的是:32008834D0rn与实际数值:8926416不同,据说可能是<em>BCD</em><em>码</em>转换<em>问题</em>,请问如何转,能提供C#源<em>码</em>函数吗?rnrn高手帮忙
压缩BCD 问题 求解
有一串字符串 rns[0]=0xfd;rns[1]=0xff;rns[2]=0xfd;rns[3]=0xff;rns[4]=0x1d;rns[5]=0xff;rns[6]=0x80;rns[7]=0x1f;rnrn想把s[4]和s[6]的前4位 替换掉s[1],s[3]的后4位,s4和s6的后四位补0,转换后得出的结果为rns[0]=0xfd;rns[1]=0xf1;rns[2]=0xfd;rns[3]=0xf8;rns[4]=0xd0;rns[5]=0xff;rns[6]=0x00;rns[7]=0x1f;rnrn解决思路和代<em>码</em>都可以,哈哈,先谢谢大家 。
BCD转换成16进制
<em>一个</em>简单高效的b<em>BCD</em>2HEX() Function
cpu(BCD的加法)
cpu(<em>BCD</em><em>码</em>的加法)
BCD加减法
rn4+7=11 3-5=-2 rn这两种情况该怎么处理rnrn我是初学者,哪位大侠给点指点啊rnrn就一位数的加减法....求汇编程序
BCD的加减
我是初学者,不懂rnrn比如 3-6=-3 6+5 =11 rnrn这我不会处理rnrn求 汇编程序rnrn处理<em>一个</em>字节的加减就行了,不用太复杂的.....
汇编压缩成BCD
题目是:通过键盘键入<em>一个</em>两位十进制数,将该数转换成压缩的<em>BCD</em><em>码</em>,送BUF中。rn请问该怎么编这个程序,主要帮忙解释一下压缩成<em>BCD</em><em>码</em>是什么意思,怎么运算?rn
十六进制转换成BCD
我用UDP数据报协议(客户端)发送字节数组,数组里其中包含09050E0F2D20(系统时间 09年05月14日15时45分32秒),服务器收到的数据也是这么显示的。rn现在要他显示的形式为:090514154532rn怎么办呀?
什么是BCD
请问什么是<em>BCD</em><em>码</em>?1209.56的<em>BCD</em><em>码</em>是多少?谢了
VHDL 实现BCD
VHDL 实现<em>BCD</em><em>码</em>,使用VHDL写的源程序
BCD乘法运算的问题
书本上说:对<em>BCD</em><em>码</em>数据进行乘法运算时,要求乘数和被乘数都用 非组合的<em>BCD</em><em>码</em> 表示,否则得到的结果无法调整。rnrn那么计算:13×7rnrn  13    0000 0001 0000 0011  (非组合)rn × 7 0000 0111   rn -------------------------rn 0000 0001 0000 0011rn 00000 0010 0000 011rn 000000 0100 0000 11rn --------------------------rn 0000 0111 0001 0101 rnrn再用AAM进行调整:将AL中的内容除以10,商送入AH中,余数送入AL中。rn        rn 0000 0010rn         /------- rn 1010 / 0001 0101 rn 1 010rn --------------- rn 1rnrn那么最终AH中送入的为:0000 0010 = 2rn  最终AL中送入的为:0000 0001 = 1rnrn那么结果等于 21,而不是 91?
关于BCD问题,求救。
请问该怎么把<em>一个</em>浮点数或者整型数转换成<em>一个</em>高字节和<em>一个</em>低字节的<em>BCD</em><em>码</em>?
vb处理bcd问题
Dim localAddress As Stirng '报文发址rn Dim bw(128) As Byte '报文rn rn localAddress = "888888"rnrn'存入rn'数字的bcd<em>码</em>rn bw(12) = Hex(CInt(Mid(localAddress, 1, 1)))rn bw(13) = Hex(CInt(Mid(localAddress, 2, 1)) * 16 + CInt(Mid(localAddress, 3, 1)))rn bw(14) = Hex(CInt(Mid(localAddress, 4, 1)) * 16 + CInt(Mid(localAddress, 5, 1)))rnrnrn收到后如何取出并换成字符串型呢?rnrnvc代<em>码</em>是 localAddress.Format("%X%X%X%X%X",bw[12]&0x0F,bw[13]>>4,bw[13]&0x0F,bw[14]>>4,bw[14]&0x0F);rnrnvb如何如何取出存入<em>一个</em>String型呢?
双字节转换成BCD
双字节十六进制整数转换成双字节BCD<em>码</em>整数
BCD计数器4553
这是个关于<em>BCD</em><em>码</em>计数器MC14553的英文说明,可以了解下工作原理
啥叫BCD
-
BCD 基础知识
介绍<em>BCD</em><em>码</em>的基础知识,比较全面的介绍了<em>BCD</em><em>码</em>的原理和在程序中的应用等。。
15.1 BCD介绍
在日常生产生活中用的最多的数字是十进制数字,而单片机系统的所有数据本质上都是二进制的,所以聪明的前辈们就给我们创造了 <em>BCD</em> <em>码</em>。 <em>BCD</em> <em>码</em>(Binary-Coded Decimal)亦称二进<em>码</em>十进制数或二-十进制代<em>码</em>。用 4 位二进制数来表示 1 位十进制数中的 0~9 这 10 个数字。是一种二进制的数字编<em>码</em>形式,用二进制编<em>码</em>的十进制代<em>码</em>。<em>BCD</em> <em>码</em>这种编<em>码</em>形式利用了四个位元来储存
二进制转BCD
二进制转<em>BCD</em><em>码</em>, 进而可以转为十进制字符串表示. template std::vector bcd( const std::bitset& bits ) { std::vector buf; buf.push_back( 0 ); for( auto i = bits.size(); i-- != 0; ) { int carries0 = bi
关于BCD
求教,如何将<em>一个</em>字符串转换成<em>BCD</em><em>码</em>rnrn谢谢了rnrn在线等待
组合bcd相乘
实现<em>BCD</em><em>码</em>的乘法运算,要求被乘数和乘数均以组合的<em>BCD</em><em>码</em>形式存放,各占<em>一个</em>内存单元,结果存放在另两个内存单元中。rn搞不懂?!rn怎么写汇编指令程序?rn
关于bcd数据传输问题
我的<em>一个</em>测水位设备的bcd<em>码</em>输出为:1根com线,26根数据线,1根sign线,它把我的水位信号以bcd<em>码</em>的格式传输出去,比如要传送2783.568这个数,请问这些线是如何工作的?
进制转换和BCD
1.十—二进制的转换 (由十到二): 整数部分:用十进制数逐次除以2,每次的余数即为二进制的一位数字(从最低位数开始) 小数部分:用十进制小数部分逐次乘以2,每次所得乘积的整数即位二进制的一位数字(从小数点后的第一位开始) (由二到十): 整数部分:二进制数的各个位乘以相应位的权。 小数部分:二进制数的各个位乘以相应位的权。 进制表示: D:十进制 B:二进制 H:十六进制 O:八进制 无符号二进...
BCD求和-汇编语言
输入两组数743216、527864,按<em>BCD</em><em>码</em>求和,并将结果显示在屏幕上。 DATAS SEGMENT BUF1 DB 20,?,20 DUP(?) BUF2 DB 20,?,20 DUP('$');此处输入数据段代<em>码</em> DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代<em>码</em> STACKS ENDS CODES SEGMENT ASSU...
BCD的运算法则
<em>BCD</em><em>码</em>的运算规则, 很实用的资料,对于编程有重要的知道意义。
二进制到BCD转换
----------------------------------------------------------------------------------- // DESCRIPTION : Bin to Bcd converter // Input (data_in) width : 4 // Output (data_out) width : 8 // Enable (EN) active : high // // Download from : http://www.pld.com.cn //----------------------------------------------------------------------------------- module bin2bcd (data_in ,EN ,data_out ); input [3:0] data_in ; input EN ; output [7:0] data_out ; reg [7:0] data_out ; always @(data_in or EN ) begin data_out = {8{1'b0}}; if (EN == 1) begin case (data_in [3:1]) 3'b000 : data_out [7:1] = 7'b0000000; 3'b001 : data_out [7:1] = 7'b0000001; 3'b010 : data_out [7:1] = 7'b0000010; 3'b011 : data_out [7:1] = 7'b0000011; 3'b100 : data_out [7:1] = 7'b0000100; 3'b101 : data_out [7:1] = 7'b0001000; 3'b110 : data_out [7:1] = 7'b0001001; 3'b111 : data_out [7:1] = 7'b0001010; default : data_out [7:1] = {7{1'b0}}; endcase data_out [0] = data_in [0]; end end endmodule
字符转换BCD
#include rn#include rn#include rnrnvoid Asc2Bcd( bcd, asc, len, align )rn unsigned char *bcd;rn unsigned char *asc;rn int len;rn char align;rnrn int i, flag = 0;rn unsigned char ch;rnrn memset(bcd, 0, (len + 1) / 2);rnrn if ((len % 2) && align) flag = 1;rnrn for (i = 0; i < len; i++) rn if (asc[i] >= 'a') ch = asc[i] - 'a' + 10;rn else if (asc[i] >= 'A') ch = asc[i] - 'A' + 10;rn else if (asc[i] >= '0') ch = asc[i] - '0';rn else ch = 0;rn if ((i + flag) % 2) bcd[(i + flag) / 2] |= (ch & 0x0F);rn else bcd[(i + flag) / 2] |= (ch << 4);rn rnrnrnint main()rnrnrn unsigned char *bc;rn const char *ac="12";rn printf("__n_n__\n");rn Asc2Bcd(bc,ac,16,0);rn printf("__L_L__\n");rn printf("__L_L__%s\n",ac);rnrn在linux 系统环境中 编译没有错误,执行之后提示 段错误 (core dumped) ????为什么呢。
BCD求解。。
字节数组用于返回交易金额(长度至少6Bytes)获取的rn金额为<em>BCD</em> <em>码</em>:比如1.23 表示为:rn00 00 00 00 01 23rnrnrn请问,这是如何转换的????
关于BCD的疑问
请问我直接用DIV,ADD,SUB等指令进行二进制计算后取得计算后的二进制结果然后在高级语言中对它进行处理不就行了么?rn为什么还要用DAA,DAS等进行<em>BCD</em><em>码</em>的调整呢?rnDAA,DAS等主要用于什么方面的用途?rn我不明白。rn比如:rnrn;计算W<-X+Y+24-Zrn;X,Y,Z都为字格式rnrn MOV AX,X ;将X的低位移到AXrn MOV DX,X+2 ;将X的高位(X+2)移动到DXrn ;因为在INTEL X86中,AX保存字的低半位,rn ;DX保存字的高半位rn rn ADD AX,Y ;将Y的低半位同AX中的X的低半位相加rn ADC DX,Y+2 ;将Y的高半位同DX中的X的高半位相加rn ADD AX,24 ;将十进制数24和AX相加(因为字的半位是8位,rn ;最多可以表示至十进制的255,因24小于255,rn ;只需同8位的字相加即可rn rn ADC DX,0 ;因为24是8位数,高位为全0,所以仅需加上CFrn ;中的进位即可rn rn SUB AX,Z ;将Z的低位同AX相减rn SBB DX,Z+2 ;将Z的高位同DX相减rn MOV W,AX ;将AX的内容传给W的低位rn MOV W+2,DX ;将DX的内容传给W的高位rn rn ;计算完毕rn ;最终W,W+2即是要求的结果rnrnrn再看:rnrnrnMOV AL,<em>BCD</em>1rnADD AL,<em>BCD</em>2rnDAArnMOV <em>BCD</em>3,ALrnMOV AL,<em>BCD</em>1+1rnADC AL,<em>BCD</em>2+1rnDAArnMOV <em>BCD</em>3+1,ALrnrnrn最后<em>BCD</em>3,<em>BCD</em>3+1中的内容就是经过<em>BCD</em>调整后的结果rn我不明白这和上面那个例子中的W,W+2有什么本质上的不同?rn本质上两者都是计算的结果而已,只不过经过<em>BCD</em>调整后的数已经不是纯粹的二进制数,比W,W+2要容易计算一点而已啊?rnrnrn请高手解答两者的不同之处rnrn
十六进制与BCD的相互转换
/************************************************************************************************************************* *函数         : void Hexto<em>BCD</em>(u8 *pBuff,u8 len) *功能         : 十六进制转为<em>BCD</em><em>码</em>
BCD与二进制的区别
<em>BCD</em><em>码</em>与二进制的区别 当用来表示十进制数字0——9时,用二进制代<em>码</em>与8421<em>BCD</em>代<em>码</em>完全相同。而当表示的十进制数字大于9时,用二进制代<em>码</em>与8421<em>BCD</em>代<em>码</em>表达就完全不同了。
BCD加法程序
自己写的<em>BCD</em>加法计算程序,供大家交流学习,版权归大家
易语言5.11动静态结合版.7z下载
动态编译动态编译动态编译动态编译动态编译动态编译动态编译动态编译动态编译动态编译动态编译 相关下载链接:[url=//download.csdn.net/download/l786816302/3105330?utm_source=bbsseo]//download.csdn.net/download/l786816302/3105330?utm_source=bbsseo[/url]
java过滤器下载
过滤功能,在java开发中有很广泛的应用,是java工程师的 必备技能 相关下载链接:[url=//download.csdn.net/download/xiaohongbo910512/5349798?utm_source=bbsseo]//download.csdn.net/download/xiaohongbo910512/5349798?utm_source=bbsseo[/url]
中国移动4g下载
国际电信联盟(ITU)以“ITU铺平下一代4G移动通信技术道路”为标题发出新闻通稿,通告ITU无 相关下载链接:[url=//download.csdn.net/download/u012742013/6511069?utm_source=bbsseo]//download.csdn.net/download/u012742013/6511069?utm_source=bbsseo[/url]
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表
我们是很有底线的