首页 理论教育 微机数制及转换-基于汇编与C语言的单片机原理及应用

微机数制及转换-基于汇编与C语言的单片机原理及应用

时间:2023-10-23 理论教育 版权反馈
【摘要】:此外,人们最习惯、最常用的数是十进制数。图1-143种数制间数的转换方法示意图1.二、十六进制数转换为十进制数这种转换只需将二、十六进制数按权展开。例如:2=16=2D.A4H很明显,十六进制要转换成二进制,只需将十六进制数分别用对应的四位二进制数表示即可。

微机数制及转换-基于汇编与C语言的单片机原理及应用

1.6.1.1 进位计数制

在计算机中为了便于数的存储及物理实现,采用了进制数,计算机中的数是以器件的物理状态来表示的。一个具有两种不同稳定状态且能相互转换的器件即可以用来表示一位二进制数。可见二进制的表示是最简单且最可靠的。凡是需要计算机处理的信息,无论其表现形式是文本、字符、图形,还是声音、图像,都必须以二进制数的形式来表示。人们为了书写阅读方便,又常采用十六进制来表示二进制数。此外,人们最习惯、最常用的数是十进制数。

为了总结各种进制数的共同特点,这里首先归纳十进制的主要特点。

1.十进制数主要特点

(1)有十个不同的数字符号:0,1,2,…,9。

(2)遵循“逢十进一”原则。

一般地,任意一个十进制数N都可采用按权展开表示为:

式中:10称十进制数的基数,若基数用R表示,则对于十进制,R=10;i表示数的某一位,10i称该位的权;K i表示第i位的数码,它可以是0~9中的任意一个数,由具体的数N确定;m和n为正整数,n为小数点左边的位数,m为小数点右边的位数。上式可以推广到任意进位计数制。

2.二、十六进制数主要特点

对于二进制,R=2,K为0或1,逢二进一。

对于十六进制,R=16,K为0~9、A、B、C、D、E、F共16个数码中的任意一个,逢十六进一。

综上可见,上述3种进位制有以下共同点:

(1)每种进位制都有一个确定的基数R,每一位的系数K有R种可能的取值。

(2)按“逢R进一”方式计数,在混合小数(数据既有整数又有小数)中,小数点左移一位相当于乘以R,右移一位相当于除以R。

1.6.1.2 数制间的转换

3种数制间数的转换方法示意图如图1-14所示。

图1-14 3种数制间数的转换方法示意图

1.二、十六进制数转换为十进制数

这种转换只需将二、十六进制数按权展开。例如:(www.xing528.com)

2.十进制转换成二、十六进制数

十进制数转换成二、十六进制数时,需要把整数部分与小数部分分别转换,然后拼接起来。例如,把十进制数125、0.8125、125.8125转换为二进制数方法如下。

(1)整数的转换。

按权展开为:

采用“除2取余”法,可将K n-1…K 0都确定下来。因而转换结果为:(125)10=(01111101)2。整数部分125的转换示意图如图1-15所示。

(2)小数的转换。

例如:将十进制数0.8125转换为二进制小数。

图1-15 整数部分的转换示意图

图1-16 小数部分的转换示意图

可逐个求出K-1 K-2…K-m的值。所以转换结果为:(0.8125)10=(0.1101)2。小数部分0.8125的转换过程如图1-16所示。

从以上讨论可知,整数部分的转换采用辗转相除法,用基数不断去除要转换的十进制数,直到商为0,将各次计算所得的余数,按最后的余数为最高位,第一位为最低位,依次排列,即得转换结果。与整数部分转换不同,十进制小数转换成二或十六进制时,采用乘基数取整数的方法,即不断用2或16去乘需要转换的十进制小数,直到满足要求的精度或小数部分等于0为止,然后取每次乘积结果的整数部分,以第一次取整位最高位,依次排列,即可得到转换结果。

(3)含整数和小数两部分的数转换。如果一个数既有小数又有整数则应将整数部分与小数部分分别进行转换,然后用小数点将两部分连起来,即为转换结果。

3.二进制与十六进制的相互转换

由于16=24,因此二进制与十六进制之间的转换就很简单。将二进制数从小数点位开始,向左每4位产生一个十六进制数字,不足3位的左边补零,这样得到整数部分的十六进制数;向右每4位产生一个十六进制数字,不足3位右边补0,得到小数部分的十六进制数。

例如:

(00101101.10100100)2=(2D.A4)16=2D.A4H

很明显,十六进制要转换成二进制,只需将十六进制数分别用对应的四位二进制数表示即可。上例中在数字后面加H(Hexadecimal)表示是十六进制数。二进制数用加后缀B(Binary)表示,十进制数则可用后缀D(Decimal)表示或者不加任何字符。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈