C语言进制转换

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:46:26
(2)-617十进制 转八进制和十六进制各等多少>?
怎么算>??
正确答案是:
八进制数:176627
十六进制数是:fd97
怎么算的

-627用除2求余法得到二进制表示为-1001101001,在机子里负数用补码表示,且16位机用16位表示,于是有其补码为1111110110010111,3位一组,不够的前面补0,有对应的8进制数为176627
同理16进制数则是4位一组,不够的前面补0,有fd97

先换到二进制
617(H)=1001101001(B)
三位为单位换到八进制
617(H)=[001][001][101][001](B)=1151(O)
四位为单位换到十六进制
617(H)=[0010][0110][1001](B)=269(H)