代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
实现BCD码
作者:
zgke
/ 发布于
2014/7/29
/
810
string _BcdText = Zgke.ConvertByte.BCD.GetBcdEncode(123456, Zgke.ConvertByte.BCD.BcdType.码8421); ulong _Value; if(Zgke.ConvertByte.BCD.GetBcdDecode(_BcdText,Zgke.ConvertByte.BCD.BcdType.码8421,out _Value)) { MessageBox.Show(_Value.ToString(), _BcdText); } using System; using System.Collections.Generic; using System.Text; using System.Data; namespace Zgke.ConvertByte { /// <summary> /// BCD码操作 /// zgke@sina.com /// qq:116149 /// </summary> public class BCD { private static DataTable m_DataTable; public enum BcdType { 码8421, 码5421, 码2421, 余3码, 余3循环码 } /// <summary> /// 或BCD表数据 /// </summary> /// <returns></returns> private static DataTable GetBcdTable() { DataTable _BCDTable = new DataTable(); _BCDTable.Columns.Add("十进制数"); _BCDTable.Columns.Add("码8421"); _BCDTable.Columns.Add("码5421"); _BCDTable.Columns.Add("码2421"); _BCDTable.Columns.Add("余3码"); _BCDTable.Columns.Add("余3循环码"); _BCDTable.Rows.Add(new object[] { "0", "0000", "0000", "0000", "0011", "0010" }); _BCDTable.Rows.Add(new object[] { "1", "0001", "0001", "0001", "0100", "0110" }); _BCDTable.Rows.Add(new object[] { "2", "0010", "0010", "0010", "0101", "0111" }); _BCDTable.Rows.Add(new object[] { "3", "0011", "0011", "0011", "0110", "0101" }); _BCDTable.Rows.Add(new object[] { "4", "0100", "0100", "0100", "0111", "0100" }); _BCDTable.Rows.Add(new object[] { "5", "0101", "1000", "1011", "1000", "1100" }); _BCDTable.Rows.Add(new object[] { "6", "0110", "1001", "1100", "1001", "1101" }); _BCDTable.Rows.Add(new object[] { "7", "0111", "1010", "1101", "1010", "1111" }); _BCDTable.Rows.Add(new object[] { "8", "1000", "1011", "1110", "1011", "1110" }); _BCDTable.Rows.Add(new object[] { "9", "1001", "1100", "1111", "1100", "1010" }); return _BCDTable; } /// <summary> /// BCD解码 /// </summary> /// <param name="p_Value">BCD码</param> /// <param name="p_BcdType">BCD码类型</param> /// <param name="p_LongValue">返回数据</param> /// <returns>false 解码失败 true解编成功</returns> public static bool GetBcdDecode(string p_Value, BcdType p_BcdType, out ulong p_LongValue) { if (m_DataTable == null) m_DataTable = GetBcdTable(); p_LongValue = 0; StringBuilder _Return = new StringBuilder(); if (p_Value.Length % 4 == 0) { int _Count = p_Value.Length / 4; string _ValueText = p_Value.ToString(); for (int i = 0; i != _Count; i++) { DataRow[] _Row = m_DataTable.Select(p_BcdType.ToString() + "=" + _ValueText.Substring(i * 4, 4)); if (_Row.Length == 0) return false; _Return.Append(_Row[0]["十进制数"].ToString()); } p_LongValue = Convert.ToUInt64(_Return.ToString()); return true; } return false; } /// <summary> /// BCD编码 /// </summary> /// <param name="p_Value">数据</param> /// <param name="p_BcdType">编码方式</param> /// <returns>编码 ""</returns> public static string GetBcdEncode(ulong p_Value, BcdType p_BcdType) { if (m_DataTable == null) m_DataTable = GetBcdTable(); StringBuilder _Return = new StringBuilder(); string _ValueText = p_Value.ToString(); for (int i = 0; i != _ValueText.Length; i++) { DataRow[] _Row = m_DataTable.Select("十进制数=" + _ValueText[i].ToString()); if (_Row.Length == 0) return ""; _Return.Append(_Row[0][p_BcdType.ToString()].ToString()); } return _Return.ToString(); } } }
试试其它关键字
实现BCD码
BCD码
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
zgke
贡献的其它代码
(
46
)
.
让程序只保证一个进程的类
.
获取PictureBox的SizeMode为Zoom图形的大小
.
获取RICHTEXTBOX所有图形的位置和大小
.
实现系统热键盘注册的类.
.
操作CUR的类
.
读写 Photoshop PSD文件 操作类
.
获取系统鼠标指针
.
隐藏滚动条
.
实现BCD码
.
获取EXCEL所有表名
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3