小数的补码,原码,反码怎么相互转换?(二进制)

发布网友 发布时间:2022-04-24 11:55

我来回答

3个回答

热心网友 时间:2023-10-11 22:50

化为2进制是整数部分除以二知道变为1
小数部分乘以2直到变为1
,符号位0表示正1表示负
正数:原码=补码
负数:
原码
=
正数部分(去掉负号)的二进制值,且符号位(最左边的比特位)为1
反码
=
正数部分(去掉负号)的二进制值,按位取反
补码
=
反码
+
1
小数点依旧用点
定点数
所谓定点数是指小数点位置固定不变的数。在计算机中,通常用定点数来表示整数与纯小数,分别称为定点整数与定点小数。
定点整数:一个数的最高二进制位是数符位,用以表示数的符号;而小数点的位置默认为在最低(即最右边)的二进制位的后面,但小数点不单独占一个二进制位,如下所示:
0
1001010010001010001
数符位
数值位
小数位
因此,在一个定点整数中,数符位右边的所有二进制位数表示的是一个整数值。
定点小数:一个数的最高二进制位是数符位,用来表示数的符号;而小数点的位置默认为在数符位后面,不单独占一个二进制位,如图所示:
0
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
|
阶码部分
|
小数位
尾数部分

热心网友 时间:2023-10-11 22:50

一个二进制的小数,比如:-0.1011。
你把小数点,右移四位,成为整数:-1011。
这个整数,变成原码反码补码,你就自己变吧。
之后,再把小数点,左移四位,即可。

热心网友 时间:2023-10-11 22:50

都是常识。
先去看看书。
那一步不懂,你指出来吧。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com