负小数如何用二进制表示?

RT如十进制的-1.25和-1.23分别如何用二进制来表示
2024-11-18 05:34:02
推荐回答(5个)
回答1:

二进制变换,说的都是整数。负小数这样的数字,需要使用浮点数形式。浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。

一个浮点数a由两个数m和e来表示:

a=m×b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。

m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s代表+或者-)来表示正负,这样m必须是正的。e是指数。

扩展资料:

浮点加法减法运算:

设有两个浮点数x和y,它们分别为:

x=Mx*2^Ex

y=My*2^Ey

其中Ex和Ey分别为数x和y的阶码,Mx和My为数x和y的尾数。

两浮点数进行加法和减法的运算规则是:

设Ex小于等于Ey,则x±y=(Mx*2^(Ex-Ey)±My)*2^Ey,

完成浮点加减运算的操作过程大体分为四步:

1、0操作数的检查;

2、比较阶码大小并完成对阶;

3、尾数进行加或减运算;

4、结果规格化并进行舍入处理。

参考资料:

百度百科-浮点数 (有理数)

回答2:

先看数的绝对值。
然后将数分成整数和小数两部分。整数采用除基数再倒取余数法。
小数部分采用乘基数再取整数法。例如:
十进制小数-6.8125化为二进制,基数为2
(1)整数部分为5:
6/2=3……0
3/2=1……1
1/2=0……1
故整数6的二进制数为110
(2)小数部分为0.8125
0.8125*2=1.6250取出整数1
0.6250*2=1.2500取出1
0.2500*2=0.5 取出0
0.5 *2=1.0 取出1
故二进制数为1101
综上,6.8125=110.1101
即-6.8125=-110.1101
另外,在电脑中在数的左端加0表示正数,加1表示负数。有原码、补码、反码等概念。

说得很清楚了,楼主可自行解决补充中的两个数。注:0.23无法用有限长的位数表示,依机器数不同再定。饿,说了这么多,才发现悬赏分值才5。。。呵呵呵

回答3:

这要看用定点数还是浮点数来表示负小数了。定点数的表示与整数类似,可以用原码、反码、补码等等方法,浮点数则只用原码,有相应的IEEE标准,例如IEEE75 整数部分除2倒取余,小数部分乘二取整。比如 -1.25 (假设整数部分用8位来表示)
值为:10000001.01(最前面的1为负号)。
负数在电脑中一般都是用补码存放。补码求法是原码取反后再+1

如:
-2 ,原码是1000 0010
注意最前面的1是负号
然后取反 就是1 111 1101 ,再加1,结果是
1 111 1110
这就是-2的二进制了。

回答4:

负小数如何用二进制表示?

如十进制的-1.25 和-1.23 分别如何用二进制来表示

整数变整数,小数变小数,小数点不可动。

-1 . 25 = -1 . 01 (二进制)。

-1 . 23 = -1 . 0011 1010 1110 0001 (二进制)。

-------------------------

说到二进制,许多人就联想到:计算机里面的补码。

负号,应该写成 1 !

其实,你们的想法,是不对的。

动不动就要扯到符号位取反加一,这可是病啊!

回答5:

-1.25的原码表示为11.01