社区
C++ 语言
帖子详情
请教,BCD码与ASC码互相转换问题?
ripples
2006-09-13 09:22:01
接收到的外部数据为BCD码,需在设备上显示为ASC码
同样,发送时需将ASC码转换为BCD码发送出去
请教各位相关算法,谢谢
...全文
585
6
打赏
收藏
请教,BCD码与ASC码互相转换问题?
接收到的外部数据为BCD码,需在设备上显示为ASC码 同样,发送时需将ASC码转换为BCD码发送出去 请教各位相关算法,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ripples
2006-09-14
打赏
举报
回复
有人可以帮一下吗?谢了,位操作搞得有点头晕
ripples
2006-09-13
打赏
举报
回复
谢谢jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!)
这个程序我看过,网上其他的一些也和这个差不多
我想请教一下,如果ASC码为abcdef123456这样的字符串的话
那么转换为BCD码应该显示什么呢,是把ASC字符的十进制表示转换为二进制吗
比方说ASC码a的十进制是97,那么转换为BCD码是10010111
ripples
2006-09-13
打赏
举报
回复
楼上的不厚道,有数据收发肯定跟通信有关了
主要是位操作我也知道,哪能什么都不知道就上来瞎问啊
现在我已经写了一个程序,不过转换的结果觉得有问题才上来请教的
jixingzhong
2006-09-13
打赏
举报
回复
vb 能看懂吧?
翻译一下就是了 ~
jixingzhong
2006-09-13
打赏
举报
回复
'由BCD转ASCII码
Function BCDToAsc(BCD() As Byte) As Byte()
Dim i As Integer
Dim bTemp As Byte
Dim bAsc() As Byte
Dim intLen As Integer
intLen = UBound(BCD)
ReDim bAsc(intLen * 2 + 1) As Byte '重新定义数组上标
For i = 0 To intLen
bTemp = (BCD(i) / 16) And &HF
If bTemp > 9 Then
bAsc(i * 2) = bTemp + Asc("A") - 10
Else
bAsc(i * 2) = bTemp + Asc("0")
End If
bTemp = BCD(i) And &HF
If bTemp > 9 Then
bAsc(i * 2 + 1) = bTemp + Asc("A") - 10
Else
bAsc(i * 2 + 1) = bTemp + Asc("0")
End If
Next
BCDToAsc = bAsc
End Function
narto
2006-09-13
打赏
举报
回复
算法是不会告诉你地~
我想你现在是在培训机构学吧,应该是个电信业务吧
呵呵~如果说对你也别奇怪
我只能告诉你,BCD是个压缩码,也就是说8位全是信息
而ASC却是前四位为0000,后面数据才有用,呵呵~~下面嘛~~
字符操作咯~
BCD
码
与
ASC
Ⅱ
码
BCD
码
这种编
码
形式利用了四个位元来储存一个十进制的数
码
,使二进制和十进制之间的
转换
得以快捷的进行。这种编
码
技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点
bcd转
asc
ii
码
流程图_
BCD
码
与
ASC
码
互转 | 学步园
1、
BCD
码
转换
为
ASC
码
:BCD
转换
为
ASC
比较简单,移位进行位与即可。stringBCD2
ASC
II( const string &str ){string res ;for( size_t i=0; i{char temp = (str[i] >> 4) & 0x0F ;if( temp >= 10 )res....
java
asc
ii 转bcd_
BCD
码
和
ASC
II
码
的相互
转换
BCD
码
和
ASC
II
码
的相互
转换
最近遇到一个
问题
就是将
BCD
码
和
ASC
II
码
互换的
问题
,题目如下:两位BCD数以压缩形式存入30H单元,用汇编语言实现将这两个
BCD
码
变为
ASC
II
码
,并且保存在40H和41H中。根据以上
问题
首先要知道...
bcd转
asc
ii
码
流程图_
BCD
码
转换
成
ASC
II值
展开全部
BCD
码
转
ASC
II
码
BCD
码
表示:对于用
BCD
码
怎么表示十进制数32313133353236313431303231363533e4b893e5b19e3133343135663429上面已经分析的非常清楚了,这里不赘述了。十进制数29 ===
BCD
码
表示为:0010 1001...
BCD
码
转换
成二进制和
ASC
II
码
BCD
码
转换
成二进制和
ASC
II
码
;用
BCD
码
表示:十位上的十进制数为 2 ==
BCD
码
表示为 0010;个位上的十进制数9 ===
BCD
码
表示为 1001;所以总的来说 十进制数 29 用
BCD
码
表示为:0010 1001;
转换
过程:把
BCD
码
0010(十...
C++ 语言
64,639
社区成员
250,578
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章