zl程序教程

您现在的位置是:首页 >  Java

当前栏目

(二)《数字电子技术基础》——数制

2023-02-18 15:50:03 时间

目录

数制介绍

数制转换

各进制转换为十进制

十进制转换为其他进制

十进制转二进制

十进制转其他进制

二进制与八进制之间的转换

二进制转八进制

八进制转二进制

二进制与十六进制之间的转换       

二进制转十六进制

十六进制转二进制

八进制与十六进制之间的转换

二进制正负数及其表示

二进制算术运算

二进制正负数的表示法

二进制正负数的顶点浮点表示法

二进制数补码及其运算

二进制数三种表示法​​​​​​​

反码补码运算性质

二进制数补码运算


数制介绍

        数制:所谓数制( Number Systems ),是指多位数码中每一位的构成方法以及从低位到高位的进位规则。

数字系统中经常使用的数制有:

  • 十进制(D: Decimal)
  • 二进制(B: Binary)
  • 八进制(O: Octal)
  • 十六进制(H: Hexadecimal)等

        由于目前在微型计算机系统中普遍采用8位、16位、32位二进制并行运算,而8位、16位、32位二进制数可以用2位、4位、8位十六进制数表示,因而用十六进制符号书写程序十分方便,成为当前的主流程序书写模式。

数制转换

各进制转换为十进制

十进制转换为其他进制

十进制转二进制

        整数部分:除基取余,逆序排列。也就是将数除2,取基数再除,将最后得到的余数逆序排列,也就是从后往前,具体证明如下所示。

        小数部分:乘基取整,顺序排列。具体说就是将小数部分乘2,取整数部分,从上往下读取,证明过程如下所示。

十进制转其他进制

        将十进制转换为R进制的方法:整数部分采用基数 (R)除法,即除基(R)取余,逆序排列;小数部分采用 基数(R)乘法,即乘基(R)取整,顺序排列,与十进制转二进制类似,就不做过多介绍。

二进制与八进制之间的转换

二进制转八进制

        把二进制数从小数点开始分别向右和向左分成三位一组,每组便是一位八进制;若不能正常构成三位一组,则在二进制整数部分高位添零或在小数点低位添零来补足三位一组。

八进制转二进制

        将各八进制数按位展成三位二进制数即可。

二进制与十六进制之间的转换       ​​​​​​​

二进制转十六进制

        把二进制数从小数点开始分别向右和向左分成四位一组,每组便是一位十六进制数;若不能正常构成四位一组,则在二进制整数部分高位添零或在小数点低位添零来补足四位一组。

十六进制转二进制

        将各十六进制数按位展成四位二进制数即可。

八进制与十六进制之间的转换

        八进制与十六进制之间的转换的话,一般是通过二进制作为中介,再进行转换。

二进制正负数及其表示

二进制算术运算

        在数字电路中,1位二进制数码的0和1 不仅可以表示数量的大小,而且可以表示两种不 同的逻辑状态:

  • 当两个二进制数码表示两个数量大小时, 它们之间的数值运算称为算术运算;
  • 当两个二进制数码表示不同的逻辑状态 时,它们之间可以按照某种因果关系进行所谓的 逻辑运算(后续章节讲解)。

二进制的运算特点:

  •  二进制数的乘法运算可以通过若干次的“被乘数 (或0)左移1位”和“被乘数(或0)与部分积相加” 这两种操作来完成;
  • 二进制数的除法运算可以通过若干次的“除数右移1位”和“从被除数或余数中减去除数”这两种操作来完成。

二进制正负数的表示法

在数字电路和数字电子计算机中,二进制数的正、负号也用“0”和“1”表示。 一般,正号用“0”表示,负号用“1”表示

二进制正负数的顶点浮点表示法

任何数制的数N,均可以表示为:N=R^E×M。

定点表示法:即小数点的位置在数中是固定不变的。 在定点运算的情况下,以最高位作为符号位,正数为0, 负数为1,定点表示可分为整数定点和小数定点,和 C 语言里的整形与浮点型有点类似,可以理解为小数点位置不变。

浮点表示法:即小数点的位置可以变化,结合下面这张图来理解一下,第一个Ef()代表的是指数部分的正负符号,第二个E()代表的是指数的大小,第三个S()表示的是数的正负,第四个E()代表的是数值。

二进制数补码及其运算

二进制数三种表示法

        在数字电路中,二进制正负数的表示法有原码 (Sign-magnitude)、反码(One’s Complement)和补码 (Two’s Complement )三种表示法。

        原码:二进制的原码与真值有直接的对应关系,即用二进制的最高位表示符号,且0表示正,1表示负,其余各位用以表示绝对值,并称数值位,构成带符号的二进制数,这种表示方法称为原码。 

        反码:也称为1的补码,其表示方法如下:

 可以理解为负数除了符号位外,按位取反。

        补码:也称为2的补码,其表示方法如下:

可以理解为负数的补码等于其反码加一。

最后,再对这三种表示法进行一个总结。

反码补码运算性质

二进制数补码运算

        在数字电路中,用原码运算求两个正数M和N的差值M-N时,首先要对减数和被减数进行比较,然后由大数减去小数,最后决定差值的符号,完成这个运算,电路复杂,速度慢。所以常用补码来实现减法运算。         设A和B依次为被加数(或被减数)和加数(或减数),用补码实现加/减运算的步骤如下:

  1. 把A与B(减法时为-B)均表示成补码形式;
  2. 两个补码相加,且把符号位也看成二进制的最高 位参与运算;
  3. 若和数的最高位有进位,将该进位舍弃

         好了,关于数制的知识点就介绍到这,本身难度不大,但需要掌握。