数字系统中的几种编码定义问题讨论
2016-07-05丘洪伟
广东技术师范大学学报 2016年8期
丘洪伟
(广州工商学院 计算机科学与工程系,广州 510850)
数字系统中的几种编码定义问题讨论
丘洪伟
(广州工商学院 计算机科学与工程系,广州 510850)
本文讨论数字系统特别是计算机中几种二进制和十进制机器码即原码、反码、补码和移码的定义及其定义域问题;给出它们的精确定义,并通过实例加以说明.
真值;原码;反码;补码和移码;定义和定义域问题;精确定义
1 引言
通常,人们用正负符号加上一组数字的集合来表征一个数.在计算机中,数的“+”、“-”符号常用 0和 1表示;这种符号数字化后按一定规则产生的数称为机器数.机器数代表的实际值称为真值.把真值转换为机器数的方法就是所谓的编码方法.原码、反码、补码和移码就是机器数的基本编码形式.
对机器数的求取,文献[1]用列表和举例的方式给予了说明;对机器数编码的定义,文献[2—6]进行了很好的论述.本文则对每种编码的求取给出了精确的定义和定义域;在定义域中,用+0和-0表示 0的两种编码形式;补码和移码的定义,分别采用三段和二段函数来解决定义域内最小负值即端点之值的求取问题.
现考察一个 n位二进制数 x(含 1位符号位)的相关定义:
整数补码定义

上述定义中,(A)式未界定整数补码的最大正值2n-1-1;而按定义求得的最小负值应为-2n-1+ 1,并非-2n-1;就是说用(A)式的第二段定义是无法求得最小负值-2n-1的.(B)式则未界定小数补码的最大正值 1-2-(n-1).对于其它编码的定义也有类似情形,不再赘述.
用定义求取……
登录APP查看全文
