转码(BIN→ASCII/BIN→BCD)

  • 一、ASCII码
    • (一)转换工具/规则
    • (二)为什么要用ASCII码
    • (三)其他
  • 二、BCD码
    • (一)BCD码作用
    • (二)8421-BCD码
    • (三)转换规则
    • (四)转换工具

一、ASCII码

(一)转换工具/规则

查表可知:数字与ASCII相差0x30,
数字转ASCII:数字(十进制)+0x30(十进制48)=ASCII
转码工具:
汉字ASCII码查询工具

(二)为什么要用ASCII码

计算机中,数值和字符是两种不同类型的数据。
ASCII码是字符编码,是计算机用于表示和显示字符的,他的真值是对应字符的映射,从根本上是八位二进制编码。
计算机的显示一个数并不是直接从它的二进制数值来的,而是要将这个数值转换为对应的ASCII字符再显示。
电脑接收/发送数据时其实也是接收/发送的ASCII格式数据,它可以自动把ASCII码映射为对应字符显示到屏幕上。而我们用开发板发送数据是二进制格式的需要转换成ASCII码格式的

在计算机里面信息都是用二进制表示的,这种表示方法被用户理解起来是较为困难的,正是因为如此,所以为了优化和改善用户的使用体验,计算机都会配置有输入以及输出设备,这些设备的应用目的,在于让信息以可以读懂的形式展示出来,从而方便人们阅读以及理解计算机信息。为了保障用户与设备之间,以及设备和计算机之间能够准确和规范地进行信息交流,所以需要制定统一和规范的交换代码,这就是ASCII码表产生的原因,也就是说它的作用表现在,让用户更加容易和顺畅的理解计算机信息。

(三)其他

请问计算机中二进制0和1既然能表示数字,为什么还用ASCII码表示,不冲突吗?
C语言中,字符型变量是char, 整数型变量是int,这里我们声明两个变量

int a=3;

char b=51;

然后将这两个变量的值打印到屏幕上

printf(“%d, %c”,a,b);

我们会得到

3, 3

输出到屏幕上之后,这两个3都是字符而不是数值


二、BCD码

(一)BCD码作用

由于2进制不方便转换为10进制,于是人们提出了8421码来表示10进制的数。Verilog编程时使用BCD码可以方便用串口显示用多位十进制原来的二进制数,且顺序不会发送改变

  • BCD码(Binary-CodedDecimal‎),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。
  • 相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。
  • BCD码也称二进码十进数,BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码,无权BCD码有余3码、余3循环码、格雷码。

(二)8421-BCD码

(三)转换规则

参考【二进制码转换为BCD码,Verilog代码实现】让你看一遍就明白

Bit→BCD码的转换流程
以二进制8'b1010 0010为例子,即“1010 0010”显示162,来演示二进制—'8421’BCD码的转换:

转换说明:

  • 1、如果某一权位(百位,十位,个位)≥ 5,那么此权位加3,否则将二进制数左移1位到BCD移位寄存器中;

  • 2、当二进制数据位都移动完毕,计算结束;

  • 3、返回步骤1循环判断执行。

(四)转换工具

二进制到BCD转换器

转码(BIN→ASCII/BIN→BCD)相关推荐

  1. C语言实现ASCII字符、压缩BCD码值与BIN码(16进制)互转 - (已编译,亲试可用)

    目录 1.将压缩BCD码转为BIN码 2.将压缩BCD码数组转为BIN码数组 3.将BIN码转为压缩BCD码 4.将BIN码数组转为压缩BCD码数组 5.将ASCII码转为BIN码 6.将ASCII码 ...

  2. BCD码和ASCII码的相互转换

    BCD码和ASCII码的相互转换 最近遇到一个问题就是将BCD码和ASCII码互换的问题,题目如下: 两位BCD数以压缩形式存入30H单元,用汇编语言实现将这两个BCD码变为ASCII码,并且保存在4 ...

  3. 16进制,BCD码,ASCII转换

    十六进制 ASCII码 BCD码 字符名 0x30 048 0b0000 0 0x31 049 0b0001 1 0x32 050 0b0010 2 0x33 051 0b0011 3 0x34 05 ...

  4. java bcd asc_BCD码和ASCII码的区别

    ASCII码可以表示各种字符和字母,而BCD码只能表示十进制数0-9 两者没有必然的联系~~ BCD码(Binary-Coded Decimal)二进码十进数,是一种二进制的数字编码形式,形式如:XX ...

  5. bcd转ascii码 流程图_BCD码到ASCII码转换实例

    BCD码到ASCII码转换实例 BCDTOASC MOV      R0,#20H MOV      R1,#10H MOV      R2,#05H ACALL     BCDASC LOOP0: ...

  6. java ascii 转bcd_BCD码和ASCII码的相互转换

    BCD码和ASCII码的相互转换 最近遇到一个问题就是将BCD码和ASCII码互换的问题,题目如下: 两位BCD数以压缩形式存入30H单元,用汇编语言实现将这两个BCD码变为ASCII码,并且保存在4 ...

  7. 打开eclipse出现Failed to load the JNI shared library “D:\java\jdk\bin\...\jre\bin\server\jvm.dll”如何解决?

    eclipse打开的时候出现Failed to load the JNI shared library "D:\java\jdk\bin-\jre\bin\server\jvm.dll&qu ...

  8. Unicode码和ASCII码及其转换

    关于什么是编码,我在之前的文章简单介绍过了,这里我们来看一下Unicode码和ASCII码 Unicode码 Unicode码:Unicode码是一种国际标准编码,采用二个字节编码,与ASCII码不兼 ...

  9. 计算机存储单元ASCI,在计算机存储器中,存储英文字母\quot;A\quot;时,存储的是它的( ) A.输入码B.ASCII码C - 作业在线问答...

    相关题目与解析 在计算机存储器中,存储英文字母"A"时,存储的是它的().A.输入码B.ASCII码C. 在计算机系统中,存储英文字母"A"时,实际存储的是它的 ...

最新文章

  1. Blender和Substance Painter制作科幻装甲视频教程
  2. STM32-USART发送程序
  3. 手机中的图片怎么压缩大小?
  4. centos7.2下安装mysql5.7数据库
  5. 不是同一个工程的exe与dll,如何调试dll
  6. redis数据类型为key的常用命令
  7. 使用html css js实现计算器
  8. 2018.2.8 php实现qq登陆接口
  9. python3字节转化字符_捋一捋字符串与字节序列的关系
  10. 腾讯云连续三年登上KVM开源贡献榜,引领KVM技术标准!
  11. win7系统图标太大的缩小教程
  12. html5元件的作用,寄存器的作用是什么
  13. 基于OpenCV的计算机视觉入门(5)图像美化(上)
  14. 云起智慧中心连接华为_云起荣获CIBIS十大全屋智能品牌奖:将与合作伙伴共同扩展AIoT生态平台...
  15. 服务器网赚项目,草根站长的一个网赚项目的分析和总结
  16. lua table的__index ,setmetable()的一些操作
  17. winpe读取linux硬盘数据恢复,如何在WinPE环境下完成文件恢复
  18. 共享单车智能锁方案的优劣势
  19. MySQL基础 - 简单查询
  20. 研究生应当常去的网站

热门文章

  1. 前端传过来Json,里边有数组
  2. Mac下搭建EPS8266开发环境Mongoose OS 篇
  3. 【STM32】STM32CUBEMX + ADC(单通道,双通道DMA)
  4. 计算机专业英语10.2,计算机专业英语教程第2版 第2期:计算机硬件
  5. 哈工大2022秋计算机系统大作业-程序人生(Hello‘s P2P)
  6. 【IPv6】设置win10和win11允许访问IPv6站点
  7. 【应急案例】一次入侵应急响应分析
  8. Java 性能优化的七个方向
  9. 2011年网页设计发展趋势
  10. 谷歌的语音识别利器,最先造福了自己的员工