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

在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,虽然缺少注释一下子很难懂,但是却很有深层逻辑的一份实现:)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值