【发布时间】:2015-01-21 22:01:18
【问题描述】:
我正在寻找一种将字符串转换为等效 BCD 的方法。我使用 Java,但这确实不是语言的问题。我正在尝试逐步了解如何将字符串转换为 BCD。
例如,假设我有以下字符串;
"0200" (This string has four ASCII characters, if we were in java this string had been contained in a byte[4] where byte[0] = 48, byte[1] = 50, byte[2] = 48 and byte[3] = 48)
在 BCD 中(根据此页面:http://es.wikipedia.org/wiki/Decimal_codificado_en_binario):
0 = 0000
2 = 0010
0 = 0000
0 = 0000
好的,我认为转换是正确的,但我必须将其保存在一个字节 [2] 中。我应该怎么做?之后,我必须读取 BCD 并将其转换为原始字符串“0200”,但首先我必须将 String 解析为 BCD。
【问题讨论】:
-
每个字节有两个 BCD 数字。一个在高 4 位,一个在低 4 位。因此,使用 BCD 时,四个十进制数字完全适合两个字节。
-
@genisage 该字符串只有 0 到 9 之间的数字。
-
提示:您需要使用按位运算符,例如 shift 和 or。
-
@markspace 是的,但是我如何将这四个 BCD 数字保存到一个字节 [2] 中?
-
把它分解成更小的部分。如何将两个数字放入一个字节,以及如何将两个字节放入
byte[2].