请问下列二进制数的补码是怎么计算的?明明是8位,结果前面怎么多了个0?
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/12 00:35:26
请问下列二进制数的补码是怎么计算的?明明是8位,结果前面怎么多了个0?
应该是进位标志位.C 代表 Carry (CY)位.
再问: 这个是代表正负的意思吗?
再答: 应该不是。C 只代表进位(相加后,最高位大于 1 后进位)或者借位(相减后 最高位不够减)。 对于补码,最高位 ∑8 才是符号位。0 代表正,1 代表负。
再问: (1)10110 (2)111010011 (3)1001000 这几个数的补码是多少?
再答: 我仔细核对了一下楼主提供的这个电路,实际上这个不能算作求补码的电路,而是一个求相反数的电路。就以楼主电路中的输入的原码数来说:10101010,最高位 1 表示是负数,后面的 (0101010)B = (42)D也就是说,原码表示的数是十进制数的 -42。因此,求补码的时候,对 42 的各位先求反码:(00101010)B 反= (11010101)B然后将这个反码再加上 1,得到它的补码:(10101010)补 = (11010110)B 但是,楼主的这个电路中,(10101010)B 本身就是一个补码数,它代表的数是十进制的 - 86。而最终由加法器电路得到的结果 (01010110)B = (86)D。所以说楼主的这个电路就是用来求相反数的电路。无论输入数还是输出数都是补码。 正数的补码与原码相同,负数的补码等于各位取反后再加上 1。(10110)补 = (00010110)B1,1101,0011 多了一位。如果当作 16bit 数来处理的话,它就是一个正数。因此它的补码就是它自身。如果 bit8 当作CY 位的话,忽略掉。后面的(101,0011)B = (83)D它的反码:(0101,0011)反 = (1010,1100)B它的补码:(1010,1100)B + 1 = (1010,1101)B(100,1000 )是正数,它的补码还是等于它自身:(0100,1000)B 只有负数求补码比较麻烦。我可以和楼主分享一下求补码的方法:对于 8 位的二进制数,你可以使用 2^8 = (1,0000,0000)B 减去正数,就可以得到它的相反数的补码。比如,第 2 题中的 (83)D = (0101,0011)B,用 (1,0000,0000)B 来减的话,可以直接得到:(1010,1101)B 如果你是求 16 位的补码,你就可以直接用 2^16 减去正数,就可以得到它的相反数的补码了。 本质上,正数与负数相加的话就是等于 0 的。在计算机中,正数与负数的补码相加以后,符号位会向前进位的。因此得到的数就是 2^8 = 256 = (1,0000,0000)B。忽略进位后就是 0 了。这也就是我为什么使用这种快速计算负数补码的原因。
再问: 这个是代表正负的意思吗?
再答: 应该不是。C 只代表进位(相加后,最高位大于 1 后进位)或者借位(相减后 最高位不够减)。 对于补码,最高位 ∑8 才是符号位。0 代表正,1 代表负。
再问: (1)10110 (2)111010011 (3)1001000 这几个数的补码是多少?
再答: 我仔细核对了一下楼主提供的这个电路,实际上这个不能算作求补码的电路,而是一个求相反数的电路。就以楼主电路中的输入的原码数来说:10101010,最高位 1 表示是负数,后面的 (0101010)B = (42)D也就是说,原码表示的数是十进制数的 -42。因此,求补码的时候,对 42 的各位先求反码:(00101010)B 反= (11010101)B然后将这个反码再加上 1,得到它的补码:(10101010)补 = (11010110)B 但是,楼主的这个电路中,(10101010)B 本身就是一个补码数,它代表的数是十进制的 - 86。而最终由加法器电路得到的结果 (01010110)B = (86)D。所以说楼主的这个电路就是用来求相反数的电路。无论输入数还是输出数都是补码。 正数的补码与原码相同,负数的补码等于各位取反后再加上 1。(10110)补 = (00010110)B1,1101,0011 多了一位。如果当作 16bit 数来处理的话,它就是一个正数。因此它的补码就是它自身。如果 bit8 当作CY 位的话,忽略掉。后面的(101,0011)B = (83)D它的反码:(0101,0011)反 = (1010,1100)B它的补码:(1010,1100)B + 1 = (1010,1101)B(100,1000 )是正数,它的补码还是等于它自身:(0100,1000)B 只有负数求补码比较麻烦。我可以和楼主分享一下求补码的方法:对于 8 位的二进制数,你可以使用 2^8 = (1,0000,0000)B 减去正数,就可以得到它的相反数的补码。比如,第 2 题中的 (83)D = (0101,0011)B,用 (1,0000,0000)B 来减的话,可以直接得到:(1010,1101)B 如果你是求 16 位的补码,你就可以直接用 2^16 减去正数,就可以得到它的相反数的补码了。 本质上,正数与负数相加的话就是等于 0 的。在计算机中,正数与负数的补码相加以后,符号位会向前进位的。因此得到的数就是 2^8 = 256 = (1,0000,0000)B。忽略进位后就是 0 了。这也就是我为什么使用这种快速计算负数补码的原因。
下列各数均为十进制数,请用8位二进制补码计算下列各题,并用是十六进制数表示其运算结果
下列各数均为十进制数,请用8位二进制补码计算下列各题,并用是十六进制数表示其运算结果.
用8位的二进制补码表示下列十进制数.
二进制补码运算二进制的补码运算下列式子,最高位是符号位 9+(-7)=?
11,写出下列各数的原码、反码、补码表示,采用8位二进制数,其中最高位是符号位.(1)-0.546875 (2)
设机器的字长为8位,求十进制数18和26的二进制补码,并计算它们补码相减的结果
4位带符号的二进制数补码能表示-8么 具体是怎么样的?
与8位的二进制补码11111101对应的十进制数是( ).
十进制数补码怎么算假定一个数在机器中占用8位,十进制数-4的补码是
怎么用16位二进制数表示数的原码,反码,补码,如+127,-128.
分别用二进制和十六进制数写出下列二进制数的补码表示(机器字长为8位)...
90H 是用8 位二进制补码表示的十六进制数,那么相应的十进制数是?