负数10进制转8进制和16进制应该怎么转,我做题时-617转8进制的答案是176627,16进制是fd97,是怎么回事?

2025-06-27 11:11:25
推荐回答(3个)
回答1:

-617的补码是将617的二进制码取反后加1,所以是00000010 01101001取反变成11111101 10010110,加1变成11111101 10010111,对应的八进制就是176627,16进制是FD97

同理,-111的二进制码是111的二进制码取反加1,是00000000 01101111,取反是11111111 10010000,加1变成11111111 10010001,对应八进制是177621,16进制是FF91

回答2:

111 的二进制是0000000001101111
-111就是111求补,即 1111111110010001
转换为8进制就是177621
转换为16进制就是是ff91

回答3:

#include
void main()
{
int b=-111;
cout<getch();
}