题目:将-617转换成八进制和十六进制数(补码)
犯错:(-617)D=(-1151)O=(-269)H
原因分析:如果是正数的话,上面的思路是正确的,但是由于正数和负数在原码、反码、补码转换上的差别,所以按照正数的求解思路去对负数进行求解是不对的。
正确的方法是:首先将-617用补码表示出来,然后再转换成八进制和十六进制(补码)即可。
注:二进制补码要用16位。
正确答案:(-617)D=(176627)O=(fd97)H
负数十进制转换成八进制或十六进制方法如(-12)10=( )8=( )16
第一步:转换成二进制
1000 0000 0000 1100
第二步:补码,取反加一
1111 1111 1111 0100
第三步:转换成八进制是三位一结合:(177764)8
转换成十六进制是四位一结合:(fff4)16
C语言程序
#
本文探讨了如何使用Verilog进行负数的八进制和十六进制补码转换,指出直接沿用正数转换方法的错误,并详细解释了正确转换步骤,包括将负十进制数转为16位二进制补码,再转换为八进制和十六进制。以-617为例,给出了正确转换结果(176627)O和(fd97)H。
订阅专栏 解锁全文
2278

被折叠的 条评论
为什么被折叠?



