public class BcdUtils {
/**
* 将字符串转换为bcd
*
* @param value
* @param buf
*/
public static void toBcd(String value, byte[] buf) {
int charpos = 0; // char where we start
int bufpos = 0;
if (value.length() % 2 == 1) {
// for odd lengths we encode just the first digit in the first byte
buf[0] = (byte) (value.charAt(0) - 48);
charpos = 1;
bufpos = 1;
}
// encode the rest of the string
while (charpos < value.length()) {
buf[bufpos] = (byte) (((value.charAt(charpos) - 48) << 4) | (value.charAt(charpos + 1) - 48));
charpos += 2;
bufpos++;
}
}
/**
* bcd解码
*
* @param bytes
* @return
*/
public static String bcd2Str(byte[] bytes) {
StringBuffer temp = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
temp.append((byte) ((bytes[i] & 0xf0) >>> 4));
temp.append((byte) (bytes[i] & 0x0f));
}
String ret = temp.toString().substring(0, 1).equalsIgnoreCase("0") ? temp.toString().substring(1) : temp
.toString();
return ret;
}
分享到:
相关推荐
《数字电子技术课程设计——8421BCD码到5421BCD码转换电路》 在数字电子技术领域,数据编码是至关重要的环节。8421BCD码(Binary-Coded Decimal,二进制编码的十进制数)是一种广泛使用的十进制数的二进制表示方式...
BCD码转换,BCD码转换BCD码转换BCD码转换
标题中的“重庆东皇机电 BCD码转换程序 数码管段码转换”指的是一个专为单片机开发设计的工具,它可以帮助开发者便捷地进行BCD码到数码管显示段码的转换。BCD码(Binary-Coded Decimal),即二进制编码的十进制数,...
本课程设计的主题是将8421BCD码转换成5421BCD码的电路设计,这一任务对于理解和掌握数字逻辑电路及其应用至关重要。8421BCD码和5421BCD码都是二进制编码的十进制数表示方式,它们之间的转换是数字电路设计中的常见...
### BCD码转换器74ls47详解 #### 一、概述 BCD(Binary-Coded Decimal)码转换器74ls47是一款常见的集成电路(IC),用于将输入的BCD码转换为七段显示码,进而驱动七段显示器显示相应的数字。在本篇文章中,我们将详细...
### 二进制到BCD码转换模块解析 #### 概述 本篇文章将深入探讨一个Verilog HDL实现的二进制数到BCD(Binary-Coded Decimal)码的转换模块。该模块的设计目的是为了方便地将4位的二进制输入数据转换成等值的BCD码形式...
1. **BCD码转ASCII码**:对于数字,BCD码转ASCII码主要是将BCD码转换为对应的十进制数,然后根据ASCII码表找到对应的字符。例如,0101(8421BCD的5)对应ASCII码35('5'字符)。 2. **ASCII码转BCD码**:首先,读取...
本压缩包中的"BCD.rar"包含了关于BCD码转换的源代码,为理解BCD码的原理和应用提供了一个实用的例子。 BCD码的基本思想是将每个十进制数字(0-9)用四位二进制来表示。例如,数字0对应0000,1对应0001,以此类推,...
在深入探讨BCD码转换为十六进制的过程之前,我们首先需要理解BCD(Binary-Coded Decimal)码和十六进制的基本概念。BCD码是一种将十进制数字编码为二进制形式的方法,其中每个十进制数字由四位二进制数表示,即每一...
描述中提到的"BCD码和16/32位有符号以及无符号整型数之间的转换"涉及到两个方面:一是16位的BCD码转换为16位整型数(有符号或无符号),二是32位的BCD码转换为32位整型数。对于有符号整型数,我们需要考虑正负号,而...
在VHDL中实现BCD码转换,通常涉及以下几个关键步骤: 1. **定义数据类型**:首先,我们需要定义适合BCD码的数据类型。在VHDL中,可以使用`std_logic_vector`或自定义的`array`类型来表示四位一组的BCD码。 2. **...
描述中提到的“功能虽少,但还算好用”,暗示这个程序可能是一个简单易用的小工具,其主要功能就是将BCD码转换为ASCII码。ASCII码是基于拉丁字母的一套电脑编码系统,它用7位或8位二进制数来表示128或256种可能的字符...
本压缩包文件"汇编:BCD码转换成二进制码.rar"可能包含了一些教程或源代码示例,旨在教授如何在汇编语言中实现BCD码到二进制码的转换。 BCD码是将十进制数字用二进制形式表示的方法,每四位二进制位代表一个十进制...
1. **BCD码转换为字符串(String)**:在Android应用中,我们可能需要将接收到的BCD码数据解析成易于阅读的字符串。这个工具类应该包含一个方法,接受一个`byte[]`数组作为参数,其中每个字节的高位和低位分别代表一个...
Verilog是一种广泛用于数字系统设计的硬件描述语言,它可以用来描述数字逻辑,包括计数器、加法器、编码器等,以及像BCD码转换这样的复杂功能。 在Verilog中,设计一个16位二进制到BCD码的转换器可能涉及到以下步骤...
对课程设计有帮助bcd 转换 课设 单片机 c51 bcd码转换有助于课程设计
2. **BCD到二进制**:相反,要将BCD码转换回二进制,可以通过位提取和位组合来完成。 3. **BCD加减法**:PLC内通常有专门的指令用于执行BCD码的加减运算,以确保计算结果仍为有效的BCD码。 4. **BCD与ASCII码的...
通过子程序段间调用实现BCD码转ASCII码,经典汇编实例
单片机实验上机--实验二 二进制BCD码转换 本实验的目的是为了掌握简单的数值转换算法和基本了解数值的各种表达方法。在单片机中,数值有各种表达方式,这是单片机的基础。掌握各种数制之间的转换是一种基本功。本...