问题标签 [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.
c# - 将 BCD 转换为二进制的最有效方法
我有下面的代码将 32 位 BCD 值(以两个 uint 一半提供)转换为 uint 二进制值。
提供的值最大为 0x9999,形成最大值 0x99999999。
有没有更好(即更快)的方法来实现这一目标?
java - 用于从字符串解码二进制编码的十进制 (BCD) 的 Java 代码或库
我有一个由 1 ('\u0031') 和 0's('\u0030') 组成的字符串,代表 BCD 值。
具体来说,该字符串是 112 个字符,分别是 1 和 0,我需要一次提取 8 个或 16 个字符,并将它们从 BCD 解码为十进制。
想法?包裹?库?代码?欢迎一切。
c - 将非常大的数字从二进制转换为十进制并打印
我知道如何将二进制转换为十进制。我至少知道 2 种方法:表格和电源 ;-)
我想将二进制转换为十进制并打印这个十进制。此外,我对这个“小数”不感兴趣;我只想打印它。
但是,正如我上面所写的,我只知道将二进制转换为十进制的两种方法,并且它们都需要加法。因此,我正在计算二进制 1 或 0 的一些值,并将其添加到记住的值中。这是一个很薄的地方。我有一个非常非常大的数字(1 和 64 个零)。在转换时,我需要将一些中间结果放在一些“变量”中。在 C 中,我有一个“int”类型,它只有 4 个字节,不超过 10^11。
因此,在从二进制转换为十进制时,我没有足够的内存来存储中间结果。正如我上面写的,我对那个小数不感兴趣,我只想打印结果。但是,我没有看到任何其他方法来解决它;-( 有没有从二进制“打印”的解决方案?
或者,也许,我应该使用像 BCD(二进制编码十进制)这样的东西来表示中间表示?我真的不想使用它,因为它不是那么跨平台(英特尔的处理器具有内置功能,但对于其他我需要编写自己的实现)。
我很高兴听到你的想法。谢谢你的耐心。
语言:C.
c++ - 无符号整数到 BCD 转换?
我知道您可以使用此表将十进制转换为 BCD:
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
这种转换是否有方程式,或者您必须使用表格?我试图为这种转换编写一些代码,但我不确定如何计算它。建议?
ibm-midrange - 解压 AS400 压缩十进制 (BCD) - 可能被 EBCDIC 转换搞砸了?
我正在通过 FTP 将文件从 AS/400 传输到我们的 Windows (SBS 2003)。这些文件是固定宽度的数据。文本看起来不错,但有些字段是压缩小数,解压缩时会给出错误的值。我的假设是发生了隐式 EBCDIC->ASCII 转换,它也在转换打包字节。但是,进行反向转换并解包它们仍然会给出错误的值......有时。
我的猜测是他们使用的代码页略有不同(所以当我转换回 EBCDIC 时,它并不完全相同),但我不知道如何找出他们正在使用的代码页(他们的 IT 人员正在.. .轻度顽固...否则他们可以只以二进制模式执行FTP并跳过所有这些问题)。
这是一些示例数据 - 这些应该解压缩为 8 位数字,这些数字实际上是 YYYYMMDD 格式的日期。
这是转换回 ebcdic 的代码页,但它不是很有效:
.net - .net 是否提供将 ascii 转换为 bcd 的 api?
Platfrom 3.5 .net.(c#)
请参考将 ascii 转换为 bcd (c#) 的代码。
tcp - 二进制编码的十进制 (BCD) 在 C# 中放入一个字节
我正在实现一个协议,它告诉我将 0 到 160 的小数放入一个字节中。我假设,因为它没有指定它想要什么样的 BCD,所以我将一个数字放入低半字节,另一个小数放入高半字节。这意味着我得到 1 个字节和两位小数。但是任何更大的值如何适合单个字节呢?比如160?
assembly - 汇编程序:为什么存在 BCD?
如果您不了解二进制,我知道 BCD 就像更直观的数据类型。但是我不知道为什么要使用这种编码,因为它以 4 位表示浪费(当表示大于 9 时),所以它没有多大意义。
另外我认为 x86 只支持直接添加和订阅(您可以通过 FPU 转换它们)。
这可能来自旧机器或其他架构?
c# - 将 int 转换为 BCD 字节数组
我想使用 BCD 将 int 转换为 byte[2] 数组。
有问题的 int 将来自表示年份的 DateTime,并且必须转换为两个字节。
是否有任何预制功能可以做到这一点,或者你能给我一个简单的方法吗?
例子:
会输出:
c - BYTE BCD 到 ASCII 转换优化
我在 c 中编写了一个函数,将字节(无符号字符)BCD 字符串转换为 ASCII。请查看代码并建议一些改进。
有没有其他有效的方法可以将 BYTE BCD 转换为 ASCII。
谢谢
法哈尔