单片机基础之二进制数运算
学呀学 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
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    昨天
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    昨天
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    昨天
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    昨天
  • hot51增强型单片机开发板原理图

    功能要求: 一):绿灯25s倒计时,绿灯过度红灯有5s黄灯时间,红灯25s后直接跳绿灯。 二):按键按下模拟闯红灯输入,产生5s蜂鸣器鸣叫。 开发环境: 软件:Keil uVision4 硬件:HOT51增强型单片机开发板 程序代码:...

    前天
  • 51单片机的延时子程序

    延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系...

    前天
  • 什么是Flash盘?Flash盘的结构是什么样的?

    Flash是大家常使用的存储之一,对于Flash,大家或多或少有所了解。上篇文章中,小编对Flash闪存的类型有所介绍。为继续增进大家对Flash的认识,本文将对Flash盘、Flash盘结构以及Flash读写操作予以介绍。如果你对本...

    前天
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    06-27
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    06-27
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
下载排行榜
更多
评测报告
更多
广告