如何在Java Card中使用浮动?

时间:2018-02-24 12:54:02

标签: javacard

我需要你的帮助:有谁知道如何在Java Card中展示浮动?

我需要的浮点数是0.9。我听说我需要使用浮点或类似的东西,但我不太确定。

1 个答案:

答案 0 :(得分:2)

就像大多数Java Card实现不具有32位整数一样,它们也不包含浮点运算。然而,这甚至更深入:甚至不支持用于浮点的编译的字节代码。因此,最终您必须自己完成此操作或寻找供应商支持。

如果您需要对实数进行算术计算或类似算法,那么您最好研究定点算术。一个技巧是简单地执行计算,其中每个值乘以100,即使用美分进行计算。那么0.90倍10将成为90倍10.然后 - 在终端 - 你可以简单地重新插入逗号。

如果你想进行整数计算(可选但通常不受支持),请检查我的X-mas special answer here ...在代码方面可能是最复杂答案的竞争者。通过这种方式,您可以进行32位计算,您可能需要处理任何类型的精度(大约9位十进制数,而不是短路时的~4位)。

如果你只需要存储一个浮点数,那么只需将浮点数编码为字节,例如:使用DataOutputStream并存储结果字节。或编码打包的BCD并使用字节来表示逗号所需的位置。