问题标签 [packed-decimal]
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.
reflection - Kotlin - 是否有一种聪明的方法可以为类的所有方法抛出 NotImplementedError?
我需要实现一个ResultSet
具有数百种方法的接口 ()。现在,我将只实现这些方法的一个子集,NotImplementedError
为其他方法抛出一个。
在 Java 中,我找到了两个解决方案:
- 创建一个
AbstractResultSet
实现的抽象类ResultSet
,声明所有要抛出的方法NotImplementedError
。没有黑客,但有很多样板代码。 - 用于
Proxy.newProxyInstance
在InvocationHandler
. 更少的代码,但也不太直接用于其他编码器。
Kotlin 有第三种选择吗?
在我的情况下,我需要ResultSet
在 IBM 数据集(包含压缩小数、二进制字段、分区数字、可变长度的行等)上实现 aa,以通过SQLServerBulkCopy
. 我不知道ResultSet
这个类调用了哪些方法,所以,现在,我将只实现“最常用”的方法,记录对未实现方法的调用。
assembly - 加法大于 15 时 x86 程序集错误中的解压缩十进制格式
这是一个用 C++ 编写的内联 asm 函数。Digits 是一个 4096 个字符长的字符数组,而 rhs.digits 是一个单独的数组。Digits 是目标,rhs.digits 是要添加到数字的数组。
我遇到的问题是当加法导致数字大于 15 时的进位。所以 8+8、8+9、9+9。我不是 100% 确定 AAA 是如何工作的,但我相信它会丢弃值的高位并将低位放入 AH。这意味着因为 16、17 和 18 不能用一个十六进制数字表示并且需要两个,所以高位位被丢弃并忽略。
这通过检查输出得到加强。如果 8+8 0 放在那个位置。如果是 8+9, 1 和 9+9, 2。这将对应于它们的十六进制表示。我尝试改用 DAA,但这也不起作用。
我怎样才能解决这个问题?如果有说明说明这一点?
谢谢你们的帮助。
oop - 将返回类型定义为方法的打包数字
我正在学习 ABAP 对象。我想要一个返回压缩数字类型的对象方法。我终于做到了,但我不知道这是否是正确的方法,我需要一些我在网上找不到的进一步解释。
对于整数,它工作正常:
对于打包号码,它不会:
错误:必须完全指定 RETURNING 参数的类型
错误:必须完全指定 RETURNING 参数的类型
(1)有没有办法让它与p
类型一起工作?
我通过使用使它工作dec5_2
:
(2) 它是正确的选择吗?有类似类型的列表吗?
另外,我找到了这个解决方案,但它对我不起作用:
未知类型“TYPEPRICE”。
(3) 有没有办法使这个解决方案起作用?
java - 无法在java中将comp 3解压缩为数字
我在互联网上引用了一个代码来将 comp 3 解压缩为 java 中的数字。我试图将示例 comp3 文件传递给代码,但没有得到正确的解包数据。我得到了一些奇怪的数字。我是这个概念的新手(comp 3),所以你们能帮我解决这个问题。提前致谢
下面是我的代码
我传递的 Comp3 文件有值x019F
转换后,我得到了解压缩的数据783031394
java - EBCDIC 解包 comp-3 数据在 Java 中返回 40404**
我已经使用下面链接中提供的解包数据逻辑用于 java 如何使用 Java 解包 COMP-3 数字? 但是对于源中的空数据,它会返回 404040404,就像在 Java 解包代码中一样。我知道这是 ebcdic 中的空间,但是如何通过处理这个空间来解包或避免它。
c# - 读取 8 个字符的压缩十进制 (Comp-3) 数值;但持有 13 位数字并转换为 13 位数值
我正在寻找代码来读取压缩十进制 (Comp -3) 数值的文本文件,该数值是在主机系统中创建的,为 8 个字符,但包含压缩十进制格式的 13 位数字。
我遇到了下面的代码
但上面的代码没有说坏迹象蚕食。
谁能确认我是否正确阅读
注意:它不是重复的,因为我正在寻找可以读取文件并将参数传递给 Unpack 方法的代码。
作为参考,我添加了文件中的数据的样子:
c - 解压 16 位 BCD 的最有效公式?(例如 0x1234 到 0x01020304)
是否有一些小技巧可以有效地解压缩 16 位压缩 BCD 数字?
以步行方式执行此操作需要 10 次操作(3 个班次、4 个 AND 和 3 个 OR 或 ADD):
对于多路 ADD/OR,关键路径长度将为 3,但这些操作往往是二进制的,因此大多数 CPU 将查看长度为 4 的关键路径。
这可以更有效地完成吗?
注意:对于某些目的,如果可以特别有效地解包半字节的某些排列,例如如果要解包的单词来自我可以完全控制其创建的查找表(这样我可以将每个数字粘贴到任何地方),它可能同样有用我想)。在这种情况下使用打包而不是解包 BCD 的目的是将内存压力减半并避免超过 L1 缓存的大小,通过增加 CPU 的 ALU 上的负载来减轻过饱和的内存子系统的负载。
例如,如果我对 0x1324 之类的数字进行置换,那么简单的去交错会产生 0x01020304:
这只是关键路径长度为 3 的三个操作,比原始版本有了很大的改进......
c - CPU 使用率 C Packed struct vs Unsigned Long Long 操作
我需要对 48 位变量进行一些操作,所以我有两个选择:
- 使用 48 位变量创建我自己的结构,或
- 使用unsigned long long(64 位)。
由于操作不会溢出 48 位,我认为使用 64 位变量是一种矫枉过正,所以我创建了一个基本结构
并创建了一些代码来检查操作的速度
但我得到了以下结果
因此,使用unsigned long long的操作比使用打包结构的操作花费的时间更少。
- 这是为什么?
- 那么使用unsigned long long会更好吗?
- 有没有更好的方法来打包结构?
由于我现在正在展开循环,因此使用正确的数据结构可能会显着影响我的应用程序的性能。
谢谢你。
python-3.x - 用python解压大型机压缩十进制
我有从大型机导出的 txt 文件,其中包含打包的十进制数据,看起来像垃圾数据。我想使用 python 脚本将其转换为可读格式。
例如。将此 ��% 转换为 5420
ascii - 如何使用 Java 解压缩 COMP 数字?
我找到了解压 COMP-3 数字的有用链接,但这次我需要解压 COMP 数字,有人知道如何解压吗?非常感谢!