Binary 将25和30作为二进制数相加

Binary 将25和30作为二进制数相加,binary,addition,bcd,Binary,Addition,Bcd,使用8位寄存器和有符号幅度表示。 我以为BCD中的25是010 0101,但我的课本上说是001 1001。有人能解释一下吗?25/2=12r1 12,剩余的1 12/2=6r0 6,余数为0 6/2=3r0 3,余数为0 3/2=1r1 1,余数为0 1/2=0r1 0,余数为0 所以11001在树上倒转是相当于25的二进制数 另一种思考方法是使用2的幂: 1*16+1*8+0*4+0*2+1*1=25 值得注意的是,正如在10进制中一样,前导零不会改变数字的值。00025 == 25 00

使用8位寄存器和有符号幅度表示。
我以为BCD中的25是010 0101,但我的课本上说是001 1001。有人能解释一下吗?

25/2=12r1 12,剩余的1

12/2=6r0 6,余数为0

6/2=3r0 3,余数为0

3/2=1r1 1,余数为0

1/2=0r1 0,余数为0

所以11001在树上倒转是相当于25的二进制数

另一种思考方法是使用2的幂:

1*16+1*8+0*4+0*2+1*1=25

值得注意的是,正如在10进制中一样,前导零不会改变数字的值。00025 == 25 0011001 == 11001.


在您的情况下,前导零是存在的,因为您需要填充一个8位寄存器,需要有8个二进制数字,而不管它们的值如何

问题是关于二进制加法还是BCD?它们是非常不同的表述。你的BCD表示法是正确的,你的书是以2为基数的25的正确表示法。哦,是的,这是关于二进制加法的,就在BCD一章之后,所以我想我们需要转换成BCD,然后再加上它。没有提到任何东西。非常感谢。我有它,所以当加法时,我需要转换成二进制数,而不是BCD,对吗?非常感谢:@Prantik,不要只是说谢谢;点击投票按钮下方的复选按钮接受答案,表示您的感谢。