数表示法依据不同的角度可以分为不同的类型。从数的是否带符号,可分为带符号数和无符号数;从数的符号的表示方法,可分为真值和机器数;从数制角度,可分为二进制数、十进制数、八进制数和十六进制数等;从计算机编码角度,数的表示法有原码、反码和补码。
数表示法依据不同的角度可以分为不同的类型。从数的是否带符号,可分为带符号数和无符号数;从数的符号的表示方法,可分为真值和机器数;从数制角度,可分为二进制数、十进制数、八进制数和十六进制数等;从计算机编码角度,数的表示法有原码、反码和补码;对于小数点的表示,可以分为定点表示法和浮点表示法。
用一位二进制位表示数的符号:0 表示正数,1 表示负数,这种表示数的方法,称为带符号数的表示方法。所表示的数,叫做带符号的数。带符号的数其最高位为符号位。
如果将全部有效位都用来表示数的大小,这种数的表示方法,叫无符号数的表示方法,所表示的数,叫无符号数。
真值就是利用”+”、”-“表示数的符号,数值部分为数的绝对值。例如:N1=+1101001B= +105;N2=-1101001B=-105。数的真值可以使用二进制形式、八进制形式、十进制形式或十六进制形式表示。
机器数就是在机器中用最高位表示数的符号,其它位表示数值的大小。这时最高位叫做符号位,规定用“0″表示正,“1’’表示负。这样对于 n 位二进制数,如果它是一个带符号的数,则最高位 Bn-1 就表示数的符号,剩下的 n-1 位表示数的大小。简单的说,机器数就是数据在机器中的二进制表示形式,机器数所表示的值称为该机器数的“真值”。
例如:一个带符号的数 11101001B,最高位”1″为符号位,代表“-”其它位为数的值,它的真值为:-1101001B(-105)。
对于任意一个数(十进制数)都可以表示成按权
(n 为整数)展开的多项式,这里 X 称为基数。对于不同的 X,形成相应的 X 进制数。X 进制数只包含数字符号 0,1,…,X-1,并且在运算过程中“逢 X 进一,借一当 X”。常用的 X 进制数有二进制数、八进制数、十进制数和十六进制数。其中,十六进制包含数字符号 0,1,…,9,A,B,C,D,E,F。
机器数在计算机中的表示方法有三种,即原码、反码和补码,最常用的是原码和补码两种,原码表示法比较直观,补码运算则比较简单。
原码表示法是一种直观的机器数表示法,用最高位表示符号,符号位为 0 表示该数为正,符号位为 1 表示该数为负,有效数值部分用二进制绝对值表示。如真值为+0.1010 和-1100 其原码为 0.1010 和 11100。用原码作乘除法时,可取其绝对值(尾数)直接运算,再按同号相乘除为正,异号相乘除结果为负的原则单独处理符号,但对常用的加减法运算,却极不方便,由此引进补码的概念。
补码是让数的符号位也作为数的一部分参与运算,使实际操作仅与指令规定的操作性质有关,而与数的符号无关。即确定一个数作模以后,将某数 X 对模 M 的补数称为 X 的补码,表示为[X]补=M+X (Mod M),正数的补码与原码一样,但是舍去了模。如 x=0.101,[x]补=0.101 (mod 2),对于负数,补码的尾数与原码不同,其符号位在形式上与原码相同,也用 1 表示负数,但这个 1 是通过模获得的,也是数值的一部分,可与尾数一起参与运算,如 x=-0.101,则[x]补=2+(-0.101)=1.011 (mod 2)。
对补码的求值,一般是通过原码转化而来。对正数,[x]原=[x]补;对负数,符号位保持不变,尾数各位变反,然后末位加 1,即“变反加 1”。如:[x]原=1.1010,则[x]补=1.0110。
计算机中,小数点的表示有两种方法,即定点和浮点表示法。
,其中,N 代表数字,S 代表尾数,R 代表基数,e 代表阶码,即小数点的实际位置。