您的位置:首页 > 编程语言 > Java开发

JAVA中BCD码的转化问题:原来可以这么简单

2012-10-11 20:31 1046 查看
在Java中由于语言内建的支持,可以将10进制数转化为二进制存储的BCD会出现异常的简洁。

for(int i= 0;i<64096;i++)

{

int num = i;

/*A:取得十进制的字符串表示,相当于用数值运算,不断地除10,获得每个十进制位上的值*/

String numStr = Integer.toString(num);

/*B:每一个十进制数用BCD码表示,则相当于按照十六进制进行parse*/

Integer bcdObj = Integer.parseInt(numStr, 16);

/*C:获得一个新的值,此值会比以前大很多,注意是否会越界,属于设计时选取相应或合适的数据类型问题*/

int bcdValue = bcdObj.intValue();

/*D:将此数值直接put到二进制缓冲区中,即可实现十进制数到二进制BCD的转化*/

/*验证*/

String bcdReverseStr = Integer.toHexString(bcdValue);

int numReverse = Integer.parseInt(bcdReverseStr);

assertEquals(num, numReverse);

}

伪码表示,应该都可以看得比较明白。记述下工作中遇到一个JAVA转化BCD,虽然缺少注释一下子很难懂,但是却很有深层逻辑的一份实现:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: