目录
二进制数三种表示法
数制:所谓数制( Number Systems ),是指多位数码中每一位的构成方法以及从低位到高位的进位规则。
数字系统中经常使用的数制有:
由于目前在微型计算机系统中普遍采用8位、16位、32位二进制并行运算,而8位、16位、32位二进制数可以用2位、4位、8位十六进制数表示,因而用十六进制符号书写程序十分方便,成为当前的主流程序书写模式。
整数部分:除基取余,逆序排列。也就是将数除2,取基数再除,将最后得到的余数逆序排列,也就是从后往前,具体证明如下所示。
小数部分:乘基取整,顺序排列。具体说就是将小数部分乘2,取整数部分,从上往下读取,证明过程如下所示。
将十进制转换为R进制的方法:整数部分采用基数 (R)除法,即除基(R)取余,逆序排列;小数部分采用 基数(R)乘法,即乘基(R)取整,顺序排列,与十进制转二进制类似,就不做过多介绍。
把二进制数从小数点开始分别向右和向左分成三位一组,每组便是一位八进制;若不能正常构成三位一组,则在二进制整数部分高位添零或在小数点低位添零来补足三位一组。
将各八进制数按位展成三位二进制数即可。
把二进制数从小数点开始分别向右和向左分成四位一组,每组便是一位十六进制数;若不能正常构成四位一组,则在二进制整数部分高位添零或在小数点低位添零来补足四位一组。
将各十六进制数按位展成四位二进制数即可。
八进制与十六进制之间的转换的话,一般是通过二进制作为中介,再进行转换。
在数字电路中,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依次为被加数(或被减数)和加数(或减数),用补码实现加/减运算的步骤如下:
好了,关于数制的知识点就介绍到这,本身难度不大,但需要掌握。