用原码一位乘计算x·y,其中X=0.110111,Y=0.101110 求解答考试中
【X】原=0.1101 【Y】原=0.1011
原码一位乘法_原码一位乘法器实验报告
部分积7a686964616fe59b9ee7ad9431333431356636 乘数单元
00.0000 1011
+00.1101
00.1101
->00.0110 1101
+00.1101
01.0011
->00.1001 1110
+ 00.0000
00.1001
->00.0100 1111
+00.1101
01.0001
->00.1000 1111
因为X和Y异号,异号相乘为负所以X·Y=1.10001111
扩展资料
机器数和真值
在学习原码,反码和补码之前,需要先了解机器数和真值的概念。
1、机器数
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。
那么,这里的 00000011 和 10000011 就是机器数。
2、真值
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1。
原码的话就是加0,不论正负数。
补码的话就要区分,补码正数左右移都是补0,负数的话,左移补0,右移补1。
详细的话你可以百度 “带符号数的移位操作”
用原码一位乘法计算X=11011,Y= -11111
换成十进制,X=16+8+0+2+1=27
Y=-(16+8+4+2+1)=31
故X*Y=-837
换成二进制
等于1100000101
已知X=--0.1011,Y=-0.1001采用原码一位乘法计算X*Y
x的原码为1.1011
y的为1.1001
两者先是符号位相异或得0;然后再用无符号的两个二进制数相乘,这个相乘和十进制数类似,由于在这里输入格式上不方便,我不能给出过程了,我推荐你看一下唐朔飞的组成原理,上面讲的很详细
关于原码一位乘法的下列描述中,正确的是()
A.数据取绝对值参加运算
B.符号位单独处理
C.乘法执行过程中的所有移位都是算术移位
D.最后的结果由部分积寄存器和乘数寄存器共同保存
正确答案:数据取绝对值参加运算;符号位单独处理;乘法执行过程中的所有移位都是算术移位;最后的结果由部分积寄存器和乘数寄存器共同保存
换成十进制,X=16+8+0+2+1=27
Y=-(16+8+4+2+1)=31
故X*Y=-837
换成二进制
等于1100000101