将-617以八进制数表示答案是(176627)而为什么(-01151)不行呢,这两个的区别是什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 20:04:32
![将-617以八进制数表示答案是(176627)而为什么(-01151)不行呢,这两个的区别是什么?](/uploads/image/z/2112595-43-5.jpg?t=%E5%B0%86-617%E4%BB%A5%E5%85%AB%E8%BF%9B%E5%88%B6%E6%95%B0%E8%A1%A8%E7%A4%BA%E7%AD%94%E6%A1%88%E6%98%AF%EF%BC%88176627%EF%BC%89%E8%80%8C%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%88-01151%EF%BC%89%E4%B8%8D%E8%A1%8C%E5%91%A2%2C%E8%BF%99%E4%B8%A4%E4%B8%AA%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%E4%BB%80%E4%B9%88%3F)
xSN@~p7
v,z*p8P&(VI"Q~
ֱcx+0kB@xͷ37;pS56lhv ˏG.L3cݏJ©0?`Æ.sqWE;a7^H"Xeޠ/cE
]Hu$:n|U8?jKG--a()Q
+M)^r_[\(lxQ
3`PTQ@¼B!Ƌ}Ǡ#%(Yt({(nMlcqaT,lvzčseAD}^mi1!edHj'ӄsρ]u!PCl&͙iRs{LFRG^P]4}RX?'W52ȅ(oO)3Lg6x=38;o 10
将-617以八进制数表示答案是(176627)而为什么(-01151)不行呢,这两个的区别是什么?
将-617以八进制数表示
答案是(176627)
而为什么(-01151)不行呢,这两个的区别是什么?
将-617以八进制数表示答案是(176627)而为什么(-01151)不行呢,这两个的区别是什么?
你可能是以%o的输出,这种是以无符号的8进制输出,但是你这里是有符号的,所以它把符号位也当做为数值位了
-617的原码为:
10000000 00000000 00000010 01101001
但是任何数在内存中都是以补码的方式存储的,所以在这里我们需要转换
11111111 11111111 11111101 10010110
11111111 11111111 11111101 10010111
所以最后的结果为10进制的4294966679,换为8进制为:
37777776627
这个是在VC下的结果
TC下的int 为2个字节:
所以为
10000010 01101001
11111101 10010110
11111101 10010111
最后为10进制的64919,换为8进制为:176627