bcd相关内容

压缩BCD 4位加法(8086汇编程序)

我在编写这段代码时遇到了麻烦。有没有人能给我个解决方案(我懂BCD数字,等等,我就是写不出能用的代码)? 它应该将两个打包的BCD数相加(每个4位;它们位于地址op1和op2),并将结果放入地址res。 提前感谢:) 推荐答案 使用daa(加法后小数调整),您可以直接将它们相加,而不需要往返于二进制整数。 类似的东西(完全未经测试) mov al, [OP1] ad ..
发布时间:2022-08-23 22:06:46 其他开发

当半字节之间存在借入时,为什么辅助标志为0

使用以下代码片段在EMU8086上进行测试: MOV CX, 1527H SUB CX, 44H 仿真器显示AF为0 1527 - 44 ======== 14E3 手工做减法时,我们得到7-4=3,这里没有问题。 然后2-4,然后我们不得不向下一小块借钱。因此,根据我的理解,AF应该是1。 推荐答案 AF是根据从第3位到第4位的进位(或借用)设置的。 ..
发布时间:2022-08-23 21:45:40 其他开发

Python,如何解码二进制编码的十进制(BCD)

二进制字段的描述是: 来电号码,用压缩的BCD码表示,多余的位用“0xF"填充 我尝试使用结构格式 '16c' 进行打印,我得到:('3', '\x00', '\x02', '\x05', '\x15'、'\x13'、'G'、'O'、'\xff'、'\xff'、'\xff'、'\xff'、'\xff'、'\xff'、'\xff', '\xff') 如果我使用 '16b' 我得到 (51 ..
发布时间:2022-01-09 20:00:12 Python

将整数从(纯)二进制转换为 BCD

我现在解决这个问题很愚蠢...... 我得到一个 BCD 数字(每个数字都是自己的 4 位表示) 例如,我想要什么: 输入:202(十六进制)== 514(十进制) 输出:BCD 0x415 输入:0x202 位表示:0010 0000 0010 = 514 我尝试了什么: unsigned int uiValue = 0x202;无符号整数 uiRes ..
发布时间:2022-01-09 19:44:42 其他开发

在VHDL中将8位二进制数转换为BCD

该算法众所周知,您执行 8 次左移并在每次移位后检查单位,数十位或数百位(每个 4).如果它们高于 4,则将 3 添加到组中,依此类推... 这是一个不工作的基于流程的解决方案.它会编译,但输出不是我想要的.有什么想法可能是什么问题? 图书馆 ieee ;使用 ieee.std_logic_1164.all ;使用 ieee.std_logic_unsigned.all ;实体 hex2b ..
发布时间:2022-01-09 19:11:30 其他开发

将 int 转换为 BCD 字节数组

我想使用 BCD 将 int 转换为 byte[2] 数组. 有问题的 int 将来自代表年份的 DateTime,必须转换为两个字节. 是否有任何预制函数可以做到这一点,或者您能给我一个简单的方法吗? 示例: int 年份 = 2010 会输出: byte[2]{0x20, 0x10}; 解决方案 static byte[] Year2Bcd(int year) { ..
发布时间:2021-12-20 20:18:25 C#/.NET

如何获得与使用 wmi 使用 bcdedit/enum ALL 获得的结果相同的结果?

我试图获得与使用 bcdedit 命令“bcdedit/enum ALL"获得的信息相同的信息,但使用的是 wmi 和 C#.我知道如何获取 bootmgr 条目(请参阅代码)但我无法获取所有条目,尤其是设备选项是我正在寻找的信息.有没有人知道如何实现这一目标? 这是我用来获取标准和传统操作系统引导条目的代码. 公共类 BCDWMI{公共静态只读 UInt32 BCDE_STANDARD ..
发布时间:2021-09-27 20:25:36 C#/.NET

verilog中的二进制编码小数

我为 BCD 编写了以下代码到七段.代码也编译 find 并模拟,但 num 的值不会超过 2.我不知道为什么会这样.代码如下: 模块 BCDtoSeven_TOPreg [3:0] 编号;导线 a、b、c、d、e、f、g;BCDtoSeven s(num,a,b,c,d,e,f,g);最初的开始数量=1;结尾总是@(num 子模块: module BCDtoSeven(num,a,b,c, ..
发布时间:2021-09-17 19:28:31 其他开发

Verilog 多个驱动程序

我正在尝试使用 Verilog 制作 BCD 计数器,该计数器将连接到 7 段解码器. 合成后,错误发生如下: 单元中的多源在信号;此信号连接到多个驱动程序.>**还有更多..... ***任何解决方案?*(下面是我的代码) module BCDcountmod(输入时钟,清除,向上,向下,输出 [3:0] BCD1_1, BCD0_0 );reg [3:0] B ..
发布时间:2021-09-04 18:47:56 其他开发

Verilog 中的 BCD 加法器

我正在尝试用 Verilog 编写 BCD 加法器,但我在使用其中一个模块时遇到了问题.具体来说,就是取两个 BCD 数字并将它们相加的加法器.所以,这个想法是如果两位数之和小于或等于九,那么它是正确的.但是,如果它更大,则必须添加偏移量 6.到目前为止,这是我的 Verilog 代码: 模块 DIGITADD(输入 [3:0] IN_A,输入 [3:0] IN_B,输入 CIN,输出寄存器 C ..
发布时间:2021-09-01 18:57:55 其他开发

汇编器:为什么BCD存在?

如果您不了解二进制文件,我知道BCD就像更直观的数据类型.但是我不知道为什么要使用这种编码,因为它很浪费,所以没有什么意义表示形式为4位(表示形式大于9时). 我还认为x86仅直接支持add和subs(您可以通过FPU对其进行转换). 这可能来自旧机器或其他体系结构吗? 解决方案 我认为BCD在许多事情上都很有用,原因如上所述.似乎已经被忽略的一件事很明显,那就是提供一条从二进 ..
发布时间:2021-04-24 21:06:49 其他开发

解码二进制编码的十进制

我有一个字段图片X(03),其中的日期为X'160101'格式yymmdd。 我想知道如何将其转换为图片x(06)。 到目前为止,我尝试将其移回9(03)分量并将 9(03)分量移至9(06),但没有用。 我该怎么做? 解决方案 如果搜索stackoverflow,您应该找到答案(已经得到了答案)。 但是请创建一个字段,例如(my-date- x保留日期): ..
发布时间:2020-10-04 00:06:30 其他开发

如何将2个数字存储在1个字节的字符中?

我有标题的问题,但是如果没有,我怎么能只用4位来表示整数呢? 编辑,实际上我的问题是如何.我知道在像c这样的语言中有1个字节的数据结构,但是如何使用char这样的东西来存储两个整数? 解决方案 您可以在一个字节中存储两个4位数字(称为b,它是一个无符号字符). 使用十六进制很容易看到:在b=0xAE中,两个数字是A和E. 使用口罩将其隔离: a = (b & 0xF ..
发布时间:2020-09-20 21:58:21 C/C++开发

ASCII调整和十进制调整指令如何工作?

我一直在努力理解来自x86汇编语言的ASCII调整指令. 我在互联网上看到的所有信息都在告诉我不同​​的东西,但是我猜想这就是同一件事,只是我以不同的方式解释了这一点. 谁能用 AAA , AAS 我们必须相加,从AL的低位半字节中减去6? 并且有人可以在其中解释AAM,AAD和十进制调整指令伪代码英特尔指令集手册也是如此,为什么如此,其背后的逻辑是什么? 最后,有人可以举 ..
发布时间:2020-09-12 22:25:41 其他开发

Z80 DAA指令

为这个看似次要的问题表示歉意,但我似乎找不到任何答案-我只是打算在我的Z80仿真器中实现DAA指令,并且在Zilog手册中注意到这是针对调整累加器以进行二进制编码的十进制算术的目的.它说该指令旨在在加法或减法指令之后立即运行. 我的问题是: 如果在另一条指令后运行该怎么办? 它如何知道之前的指令是什么? 我意识到这里有N标志-但这肯定不能肯定地表明前一条指令是加法还是减法指令? ..
发布时间:2020-05-06 11:03:14 其他开发

二进制编码的十进制(BCD)转换为十六进制

有人可以向我解释如何将 BCD 转换为十六进制?例如,我如何可以将98(BCD)转换为十六进制。 Thanks。 解决方案 我不太了解您的问题,但我猜测有人给你一个以BCD编码的数字98,这将是: 1001 1000 你应该得到: 62H 会建议: $ b $ 1)将BCD编码的值转换为十进制值(D) 2)将D到十六进制值。 根据你选择的编程语言,这 ..
发布时间:2018-06-07 16:46:57 其他开发

COBOL COMP-3数字格式问题

我有一个cobol“磁带格式”转储,它有文本和数字字段的混合。我正在阅读C#中的文件作为二进制数组(字节数组)。我有复制书和格式排列在文本字段罚款。还有一些COMP-3领域。这些字段中的数据似乎不符合任何BCD格式。我知道数据应该是什么,我有COMP-3的原始字节。我试图先转换到EBCDIC,没有得到更好的结果。有关COMP-3号码如何在内部存储的任何想法?以下是PIC,原始数据和预期编号的三个例 ..
发布时间:2018-02-03 18:15:48 其他开发

BCD数学库为任意大数字?

我正在寻找一个替代Delphi Data.FmtBcd库,因为我刚刚达到极限,如最大十进制数字,它可以表示和程序终止与 EBcdOverflowException 。为了好奇,我正在计算算术系列成员,需要处理非常大的数字 - 数十万个职位并不罕见。并在合理的时间内得到结果。为了测试目的,我将部分代码重写为Python 3.2,计算速度足以满足Delphi的等效性。 有些建议用于此类库,最好是 ..
发布时间:2017-04-28 20:07:57 Delphi

无符号整数到BCD转换?

我知道您可以使用此表格将十进制转换为BCD: 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 有这个转换的方程式,或者你只需​​要使用表?我想为这个转换写一些代码,但我不知道如何做它的数学。建议? 解决方案 您知道二进制数字系统,不是 ..
发布时间:2016-10-20 09:26:43 C/C++开发

使用C#BCD WMI提供了SafeBoot的Windows

我已经走遍了网上寻找如何只用C#来了SafeBoot到Windows的解决方案。自Vista和以上,安全引导是使用BCD码控制。 Ofcourse您可以使用命令行工具“BCDEDIT”: BCDEDIT /集{当前} SAFEBOOT最少 不过,我不希望用这种方式。所以我的问题是: 如何重新启动到安全模式下仅使用C# 我已经看了这个SO发布,这已经让 ..
发布时间:2016-10-04 15:40:54 C#/.NET