本文目录一览:
不能
近似值中小数末尾的0不仅代表数,还表示精确的位数
例如1.0表示精确到小数点后一位,1.00表示精确到小数点后两位,是不一样的,所以不能去掉
化为2进制是整数部分除以二知道变为1 小数部分乘以2直到变为1 ,符号位0表示正1表示负
正数:原码=补码
负数:
原码 = 正数部分(去掉负号)的二进制值,且符号位(最左边的比特位)为1
反码 = 正数部分(去掉负号)的二进制值,按位取反
补码 = 反码 + 1
小数点依旧用点
定点数
所谓定点数是指小数点位置固定不变的数。在计算机中,通常用定点数来表示整数与纯小数,分别称为定点整数与定点小数。
定点整数:一个数的更高二进制位是数符位,用以表示数的符号;而小数点的位置默认为在更低(即最右边)的二进制位的后面,但小数点不单独占一个二进制位,如下所示:
0 1001010010001010001
数符位 数值位 小数位
因此,在一个定点整数中,数符位右边的所有二进制位数表示的是一个整数值。
定点小数:一个数的更高二进制位是数符位,用来表示数的符号;而小数点的位置默认为在数符位后面,不单独占一个二进制位,如图所示:
0 1001010010001010001
数符位|小数位 数值位
因此,在一个定点小数中,数符位右边的所有二进制位数表示的是一个纯小数。
原码(true form)是一种计算机中对数字的二进制定点的表示 *** 。原码是指一个二进制数左边加上符号位后所得到的码,且当二进制数大于0时,符号位为0;二进制数小于0时,符号位为1;二进制数等于0时,符号位可以为0或1。
图中两个表示小数的例子都是定点小数,小数点都在左数之一位到左数第二位之间,故其8个位的权重从左向右分别是2^0, 2^-1, 2^-2, 2^-3, 2^-4, 2^-5, 2^-6, 2^-7。
先转换成原码,小数点左边为符号位(正数——0;负数——1),然后转换成反码(即每一位取反),最后再加1.
eg:x=-0.11101转换成原码x=1.11101;然后转换反码x=1.00010;最后转换成补码(即+1)x=1.00011.
PS:符号位在转换反码的时候不需要取反。
化为2进制是整数部分除以二知道变为1
小数部分乘以2直到变为1
,符号位0表示正1表示负
正数:原码=补码
负数:
原码
=
正数部分(去掉负号)的二进制值,且符号位(最左边的比特位)为1
反码
=
正数部分(去掉负号)的二进制值,按位取反
补码
=
反码
+
1
小数点依旧用点
定点数
所谓定点数是指小数点位置固定不变的数。在计算机中,通常用定点数来表示整数与纯小数,分别称为定点整数与定点小数。
定点整数:一个数的更高二进制位是数符位,用以表示数的符号;而小数点的位置默认为在更低(即最右边)的二进制位的后面,但小数点不单独占一个二进制位,如下所示:
1001010010001010001
数符位
数值位
小数位
因此,在一个定点整数中,数符位右边的所有二进制位数表示的是一个整数值。
定点小数:一个数的更高二进制位是数符位,用来表示数的符号;而小数点的位置默认为在数符位后面,不单独占一个二进制位,如图所示:
1001010010001010001
数符位|小数位
数值位
因此,在一个定点小数中,数符位右边的所有二进制位数表示的是一个纯小数。
2.浮点数
在计算机中,定点数通常只用于表示整数或纯小数。而对于既有整数部分又有小数部分的数,由于其小数点的位置不固定,一般用浮点数表示。
在计算机中所说的浮点数就是指小数点位置不固定的数。一般地,一个既有整数部分又有小数部分的十进制数D可以表示成如下形式:
D=R*10N
其中R为一个纯小数,N为一个整数。
如一个十进制数123.456可以表示成:0.123456*103,十进制小数0.00123456可以表示成0.123456*10-2。纯小数R的小数点后之一位一般为非零数字。
同样,对于既有整数部分又有小数部分的二进制数口也可以表示成如下形式:
D=R*2N
其中R为一个二进制定点小数,称为D的尾数;N为一个二进制定点整数,称为D的阶码,它反映了二进制数D的小数点的实际位置。为了使有限的二进制位数能表示出最多的数字位数,定点小数R的小数点后的之一位(即符号位的后面一位)一般为非零数字(即为“1”)。
在计算机中,通常用一串连续的二进制位来存放二进制浮点数,它的一般结构如图所示:
阶符
N
数符
R
|
阶码部分
|
小数位
尾数部分
十进制小数的原码和补码应该先将其转换成二进制小数,采用"乘2取整,顺序排列"法,直到积中的小数部分为零,或者达到所要求的精度为止,然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。比如0.5625的二进制表示就是0.1001b;如果机器码字长8位的话,0.5的二进制表示就是0.1000000b,
计算机中的数据表示
1.符号数字化 : 用0表示正,用1表示负,则称为符号数字化.
2.真值 : 用正负号脚绝对值表示数值,这种形式称为真值.如 +101011,-111100..............
3.机器数 : 符号数字化以后的数称为机器数.如 0101011,1100101............
4.计算机中,我们用一个字节表示一个数,一个字节有8位,超过8位就进1,在内存中的情况为:1 0000 0000,由于进位,1将被丢弃
比如:[0.375]原码=[0.011B] 字长8位原码=00110000B
[0.5625]原码=[0.1001B] 字长8位原码=01001000B
正数的补码和正数的原码,反码相同;
负数的反码是其对应正数的原码按位求反,补码是反码末尾加1;
负数更高位为1,表示负数,正数更高位为0,表示正数。
补码取值范围是-128~127,反码是-127~127,原码是-127~127
比如:正数:[X]原 = 0.101011,那么[X]反 = 0.101011,[X]补 = 0.101011
负数:[X]原 = 1.101011,那么[X]反 = 1.010100,[X]补 = 1.1010101