问题标签 [bcd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
13265 浏览

c# - 将 BCD 转换为二进制的最有效方法

我有下面的代码将 32 位 BCD 值(以两个 uint 一半提供)转换为 uint 二进制值。

提供的值最大为 0x9999,形成最大值 0x99999999。

有没有更好(即更快)的方法来实现这一目标?

0 投票
2 回答
9738 浏览

java - 用于从字符串解码二进制编码的十进制 (BCD) 的 Java 代码或库

我有一个由 1 ('\u0031') 和 0's('\u0030') 组成的字符串,代表 BCD 值。

具体来说,该字符串是 112 个字符,分别是 1 和 0,我需要一次提取 8 个或 16 个字符,并将它们从 BCD 解码为十进制。

想法?包裹?库?代码?欢迎一切。

0 投票
5 回答
8354 浏览

c - 将非常大的数字从二进制转换为十进制并打印

我知道如何将二进制转换为十进制。我至少知道 2 种方法:表格和电源 ;-)

我想将二进制转换为十进制并打印这个十进制。此外,我对这个“小数”不感兴趣;我只想打印它。

但是,正如我上面所写的,我只知道将二进制转换为十进制的两种方法,并且它们都需要加法。因此,我正在计算二进制 1 或 0 的一些值,并将其添加到记住的值中。这是一个很薄的地方。我有一个非常非常大的数字(1 和 64 个零)。在转换时,我需要将一些中间结果放在一些“变量”中。在 C 中,我有一个“int”类型,它只有 4 个字节,不超过 10^11。

因此,在从二进制转换为十进制时,我没有足够的内存来存储中间结果。正如我上面写的,我对那个小数不感兴趣,我只想打印结果。但是,我没有看到任何其他方法来解决它;-( 有没有从二进制“打印”的解决方案?

或者,也许,我应该使用像 BCD(二进制编码十进制)这样的东西来表示中间表示?我真的不想使用它,因为它不是那么跨平台(英特尔的处理器具有内置功能,但对于其他我需要编写自己的实现)。

我很高兴听到你的想法。谢谢你的耐心。

语言:C.

0 投票
10 回答
49757 浏览

c++ - 无符号整数到 BCD 转换?

我知道您可以使用此表将十进制转换为 BCD:

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

这种转换是否有方程式,或者您必须使用表格?我试图为这种转换编写一些代码,但我不确定如何计算它。建议?

0 投票
3 回答
3908 浏览

ibm-midrange - 解压 AS400 压缩十进制 (BCD) - 可能被 EBCDIC 转换搞砸了?

我正在通过 FTP 将文件从 AS/400 传输到我们的 Windows (SBS 2003)。这些文件是固定宽度的数据。文本看起来不错,但有些字段是压缩小数,解压缩时会给出错误的值。我的假设是发生了隐式 EBCDIC->ASCII 转换,它也在转换打包字节。但是,进行反向转换并解包它们仍然会给出错误的值......有时。

我的猜测是他们使用的代码页略有不同(所以当我转换回 EBCDIC 时,它并不完全相同),但我不知道如何找出他们正在使用的代码页(他们的 IT 人员正在.. .轻度顽固...否则他们可以只以二进制模式执行FTP并跳过所有这些问题)。

这是一些示例数据 - 这些应该解压缩为 8 位数字,这些数字实际上是 YYYYMMDD 格式的日期。

这是转换回 ebcdic 的代码页,但它不是有效:

0 投票
1 回答
2187 浏览

.net - .net 是否提供将 ascii 转换为 bcd 的 api?

Platfrom 3.5 .net.(c#)

请参考将 ascii 转换为 bcd (c#) 的代码。

0 投票
1 回答
879 浏览

tcp - 二进制编码的十进制 (BCD) 在 C# 中放入一个字节

我正在实现一个协议,它告诉我将 0 到 160 的小数放入一个字节中。我假设,因为它没有指定它想要什么样的 BCD,所以我将一个数字放入低半字节,另一个小数放入高半字节。这意味着我得到 1 个字节和两位小数。但是任何更大的值如何适合单个字节呢?比如160?

0 投票
10 回答
8127 浏览

assembly - 汇编程序:为什么存在 BCD?

如果您不了解二进制,我知道 BCD 就像更直观的数据类型。但是我不知道为什么要使用这种编码,因为它以 4 位表示浪费(当表示大于 9 时),所以它没有多大意义。

另外我认为 x86 只支持直接添加和订阅(您可以通过 FPU 转换它们)。

这可能来自旧机器或其他架构?

0 投票
9 回答
19593 浏览

c# - 将 int 转换为 BCD 字节数组

我想使用 BCD 将 int 转换为 byte[2] 数组。

有问题的 int 将来自表示年份的 DateTime,并且必须转换为两个字节。

是否有任何预制功能可以做到这一点,或者你能给我一个简单的方法吗?

例子:

会输出:

0 投票
3 回答
10556 浏览

c - BYTE BCD 到 ASCII 转换优化

我在 c 中编写了一个函数,将字节(无符号字符)BCD 字符串转换为 ASCII。请查看代码并建议一些改进。

有没有其他有效的方法可以将 BYTE BCD 转换为 ASCII。

谢谢

法哈尔