单片机基础之二进制数运算
Mcherli 2021-04-06

一、二进制数与数制

1、 进位计数制 十进制数是人们习惯使用的进制。计算机只能“识别”二进制数。为了书写和识读方便,计算机程序需要用十六进制数表示。十进制数、二进制数、十六进制数之间的关系、相互转换和运算方法,是学习计算机必备的基础知识。 二进制数是计算机工作的基础,在计算机中只能使用二进制数。 所有指令、数据、字符和地址的表示,以及它们的存储、处理和传送都是以二进制形式进行的,因此计算机的电路逻辑和处理方法也都是按二进制的原则实现的。没有二进制就没有电子计算机。 进位数制具有如下特点:
  •  每一种进位数制的数字符号的个数等于计数制的基数;
  •  逢基数进一;
  •  数字的权与其位置有关,且为基数的幂的形式
2、 二进制数及在计算机中的应用 (1)二进制数(Binary) 特点:基数是2。 只有两个数码:0 和1; 进位规则是“逢二进一”; 每左移一位,数值增大一倍;右移一位,数值减小一半; 二进制数用尾缀B作为标识符。

(2)位(bit)  指二进制数的位。位是数的最小单位,中文称作“比特”。 (3)字节(Byte) 8位二进制数成为一个字节,常用大写字母B表示。字节是最基本的数据单位,计算机的数据、代码、指令、地址多以字节为单位。 (4)字(Word) 字是一台计算机上所能并行处理的二进制数,字的位数(或长度)称之为字长。字长必须是字节的整数倍。 如MCS-51单片机字长为8位,MCS-96单片机字长为16位,在微机中还有32位、64位的计算机。

3.  二进制数运算

算数运算:


逻辑运算:


4、十进制数(decimal)
主要特点: ① 基数是10。有10个数码(数符)构成: 0、1、2、3、4、5、6、7、8、9。 ② 进位规则是“逢十进一”。

5、十六进制数(Hexadecimal)

主要特点:

① 基数是16。共有16个数符构成:

0、1、…、9、A、B、C、D、E、F。其中,

A、B、C、D、E、F 代表的数值分别为

10、11、12、13、14、15。

② 进位规则是“逢十六进一”。

十六进制数用尾缀H表示。

十六进制数、二进制数和十进制数对应关系表


二、 计算机中数据的表示方法

1 、原码、反码和补码

原码、反码和补码对应关系表


2. 常用编码 (1)8421 BCD码 称为二-十进制数或简称BCD码 (BinaryCoded Decimal Code),用标识符[……]BCD表示。 ① 编码方法
 二-十进制数是十进制数,逢十进一,只是数符0~9用4位二进制码 0000 ~ 1001 表示而已;
  每4位以内按二进制进位;
 4位与4位之间按十进制进位。
② 转换关系
  (a)BCD码与十进制数相互转换关系
  (b)BCD码与二进制数相互转换关系    
BCD码与二进制数之间不能直接相互转换,通常要先转换成十进制数。

BCD码运算

BCD码用4位二进制数表示,但4位二进制数最多可表示16种状态,余下6种状态,1010~1111在BCD编码中称为非法码或冗余码。在BCD码的运算中将会出现冗余码,需要作某些修正,才能得到正确的结果。 修正方法:

       若相加后的低4位(或高4位)二进制数大于9,或大于15(即低4位或高4位的最高位有进位),则应对低4位(或高4位)加6修正。

(2)ASCII码 作用:用二进制编码表示各种字母和符号ASCII码(AmericanStanded Code for Information Interchange,美国信息交换标准代码)。

ASCII编码表

早期的ASCII码采用7位二进制代码对字符进行编码。 它包括32个通用控制字符,10个阿拉伯数字,52个英文大,小字母,34个专用符号共128个。 7位ASCII代码在最高位添加一个“0”组成8位代码,正好占一个字节,在存储和传输信息中,最高位常作为奇偶校验位使用。扩展ASCII码,即第八位不再视为校验位而是当作编码位使用。扩展 ASCII码有256个。 温馨提示:几个常用数值 1K=1024=210 1M=1024K=220 1G=1024M=230 1T=1024G=240 216=26×210=64K=65536 4K=22×210,相应的数值变化范围是12个0到12个1,即000H~FFFH
声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
热门推荐
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 单片机基础及主流厂商一览

    MCU是Microcontroller Unit 的简称,中文叫微控制器,俗称单片机 ,是把CPU的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制,

    昨天
  • 单片机的几种数字滤波算法

    单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机实现数字滤波。 在单片机进行数据采集时,会遇到数据的随机误差,随机

    前天
  • 故障排查,软件遇到IO异常怎么回事

    软件工程师在调试样板时,遇到这样一个问题,有个按键一直没有反应。他检查了按键IO的配置,确定已经是配置成了输入模式,试了很多遍,都是一样,怎么按按键,都是没有反应。 于是,必需硬件工程师出马。我的排查过程是这样的。 首先,样板断电用万用表的短路

    04-19
  • 智能化交通信号机解决方案

    面向交通信号灯行业,ZLG推出智能化交通信号机解决方案,该方案可大幅提升设备的智能化和道路使用率,改善道路拥堵,打造高效畅通的“智慧交通”。   行业背景 据公安部统计,2020年,全国机动车保有量达3.72亿辆,其中汽车2.81亿辆。百度地图发布的《2020年度

    04-16
  • 单片机如何实现Bootloader?

    去某新能源大厂出了一次差,这次出差是为了升级程序解决Bug,需要给单片机重新烧录.hex文件,用户已经将产品封装起来,无法开盖,只能使用CAN总线来更新程序,用Bootloader实现。其实就是通过上位机把.bin/hex文件以CAN通讯的方式发送给单片机并存储在规定的F

    04-13
  • 单片机应用系统的开发流程

    我们学习单片机的目的就是为了进行嵌入式系统的开发,学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程,如图1所示。 图1 单片机系统开发流程 (1)明确任务 分析和了解项目的总体要求,并综合考虑系统使用环境、可靠性要求、可维

    04-12
  • 太经典了!用最少的IO口,扫最多的键

    在做项目(工程)的时候,我们经常要用到比较多的按键,而且IO资源紧张,于是我们就想方设法地在别的模块中节省IO口,好不容易挤出一两个IO口,却发现仍然不够用,实在没办法了就添加一个IC来扫键。一个IC虽然价格不高,但对于大批量生产而且产品利润低的厂家

    03-30
  • 单片机的学习方法和步骤

    注 | 文末留言有福利 作为一名电子技术从业人员,你学过单片机吗?你会运用单片机吗? 我想你一定学过,但不一定会运用。 因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单

    03-25
  • 单片机内存的分配

    单片机执行指令过程详解 单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令

    03-22
  • 几种常用单片机之间的通信方式

    越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。对于莫一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极

    03-17
  • STM32F4的总线架构和STM8的中断控制

    STM32F4的总线架构 总线架构    DMA: Direct Memory Access,直接内存存取。    八条主控总线: Cortex-M4 内核I总线,D总线和S总线; DMA1存储器总线,DMA2存储器总线; DMA2外设总线; 以太网DMA总线; USB OTG HS DMA总线。 七条被控总线: 内部FLASH ICo

    03-17
  • 单片机P0口必须加上上拉电阻?

    在我们刚一开始接触到51单片机的时候对P0口必须加上上拉电阻,否则P0就是高阻态。 对这个问题可能感到疑惑,为什么是高阻态?加上拉电阻?今天针对这一概念进行简单讲解。 高阻态 高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电

    03-15
下载排行榜
更多
广告
X
广告