介绍
BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码,BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。
这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却电脑作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。
BCD码是四位二进制码, 也就是将十进制的数字转化为二进制, 但是和普通的转化有一点不同, 每一个十进制的数字0-9都对应着一个四位的二进制码,对应关系如下: 十进制0 对应 二进制0000;十进制1 对应二进制0001.......9=>1001 接下来的10就由两个上述的码来表示,表示为0001 0000。也就是BCD码是遇见1001就产生进位,不象普通的二进制码,到1111才产生进位10000
方法
String strForTest = "123456ABCDEF";
//转BCD
byte[] bcd = BCD.strToBcd(strForTest);
//解码BCD
String str = BCD.bcdToStr(bcd);
Assert.assertEquals(strForTest, str);
注意
由于对ASCII的编码解码有缺陷,且这种BCD实现并不规范,因此会在6.0.0中移除
标签:core,码十进数,二进制码,编码,BCD,二进制,strForTest,十进制 From: https://www.cnblogs.com/velloLei/p/18248405