已知x=-0.1101,y=0.1001,用补码运算方法计算X*Y

如题所述

x=0.1001,y=-0.1011 ,用补码一位乘法计算,x补=1.1011 y补=1.1101,(x·y)补=1.1011*1.1101。

补码“模”概念的引入、负数补码的实质、以及补码和真值之间的关系所揭示的补码符号位所具有的数学特征,无不体现了补码在计算机中表示数值型数据的优势,和原码、反码等相比可表现在如下方面:

(1)解决了符号的表示的问题。

(2)可以将减法运算转化为补码的加法运算来实现,克服了原码加减法运算繁杂的弊端,可有效简化运算器的设计。

(3)在计算机中,利用电子器件的特点实现补码和真值、原码之间的相互转换,非常容易。


补码的运算

在计算机系统中,数据的表示与存储都是以0或1的形式,而表示这些0或1,我们可以将外部数据通过数字电路进行编码,对于有符号数,在计算机系统中有三种编码,即我们通常所了解的编码、原码、反码、补码。

正数原码 = 0 + 正数绝对值,负数原码 = 1 + 负数绝对值。

例如:

+20的原码:00010100,- 20的原码:10010100。

反码:

正数反码 = 正数原码,负数反码 = 负数原码符号位的1不变,绝对值部分按位取反。

例如:

+20的原码:00010100。

+20的反码:00010100。

- 20的原码:10010100。

- 20的反码:11101011。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-17

x=0.1001,y=-0.1011 ,用补码一位乘法计算,x补=1.1011 y补=1.1101,(x·y)补=1.1011*1.1101。

x补=0.110111 【-x】补=1.001001

y补=1.010110(乘数)

符号 D A A¹ 操作

00 000000 1010110 0 +0

00 000000

00 000000 右移

00 000000 0101011 0 +-x补

11 001001

11 001001 右移

11 100100 1010101 1 +0

00 000000

11 100100 右移

11 110010 0101010 1 +x补

00 110111

00 101001 右移

00 010100 1010101 0 +-x补

11 001001

11 011101 右移

11 101110 1101010 1 +x补

00 110111

00 100101 右移

00 010010 1110101 0 +-x补

11 001001

11 011011 1110101 0

x·y的补=1.011011111010

正数

正整数的补码是其二进制表示,与原码相同。

例:+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)

求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。

同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。

以上内容参考:百度百科-补码

本回答被网友采纳
第2个回答  2021-01-12

x=0.1001,y=-0.1011 ,用补码一位乘法计算,x补=1.1011 y补=1.1101,(x·y)补=1.1011*1.1101。

假设当前时针指向8点,准确的时间是6点,调整时间有两种方法:一种是拨回2个小时,即8-2=6;另一种是直拨10小时,8+10=12+6=6,即8-2=8+10=8+12-2(Mod 12)。

在模数12的系统中,加10等于减2,所以任何减2的运算都可以用加10来代替。如果通式可以表示为:a-b=a-b+mod=a+mod-b。

扩展资料:

补码表示将符号位和值位统一起来,使符号位和值位可以直接一起参与运算,也为以后乘数除法器等运算装置的设计提供了很大的方便。

补语的介绍与当时计算机设计的背景有关。不仅要考虑所表示的数字的类型(十进制、整数、实数和复数)、数值范围和精度,而且还要考虑数据存储和处理所需的硬件成本。

参考资料来源:百度百科-补码

本回答被网友采纳
第3个回答  2012-07-07
[x*y]补=1.10001011
相似回答