十进制的负数怎么转换成八进制和十六进制数? 如:-617

用计算机算出来的十六进制是这种的
但是答案上-617的八进制是176627
-617的十六进制是fd97

这是怎么算的 求讲解一下

(617)10=(1001101001)2。负的二进制数1001101001用16位的补码来表示,就是1000 0010 0110 1001取反+1,即1111 1101 1001 0110+1=1111 1101 1001 0111=FD97
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-09
负数一般都是用补码表示的,就是在正数的基础上,求反然后加1.因此
+617=269HEX,现在要求反,一般是16位的,因此,求反的结果是FD96,加1,结果是FD97,这个就是-617的十六进制。你用计算机做的结果是正确的,计算器中采用的是16位16进制的结果本回答被提问者采纳
第2个回答  2012-07-08
先将正着的转换一下 再加一个负号追问

那答案是错的了

追答

那我就不太清楚了 不好意思了