分类：电脑/网络-软件
问题：进制转换十进制
十进制-1转二进制：先取1的二进制0000 0000 0000 0000 0000 0000 0000 0001反码1111 1111 1111 1111 1111 1111 1111 1110补码 （+1）（二进制结果）1111 1111 1111 1111 1111 1111 1111 1111此时若转为16进制，则4位一取ffffffff8进制，则3位一取 777但如果我要5进制，或者9进制，怎么算？虽然此时可以用权值的方法计算，如Y=1*2^31+1*2^30+....1*2^0但是1十进制-1转二进制：先取1的二进制0000 0000 0000 0000 0000 0000 0000 0001反码1111 1111 1111 1111 1111 1111 1111 1110补码 （+1）（二进制结果）1111 1111 1111 1111 1111 1111 1111 1111此时若转为16进制，则4位一取ffffffff8进制，则3位一取 777但如果我要5进制，或者9进制，怎么算？虽然此时可以用权值的方法计算，如Y=1*2^31+1*2^30+....1*2^0但是10进制计算的，Y是十进制值，若要Y为5进制值，这个*+^必须是按5进制运算，这样显然也不是很好的办法。我在网上查询，基本上都是2 、8 、16与10进制的关系，而2与9的关系，正数，可以通过10进制过渡，但当负数时，如何处理？（要求结果是补码的形式）
回答：补码是针对2进制来说的,计算机数据存储全是2进制,其他进制都没补码,都是通过2进制强制转换的.
以8位数为例子
-25=11100111(b)=231(us)变无符号10进制
然后一直除7得余就可以了
-25=11100111(b)=231(us)=450(7)
231=4*7^2+5*7+0*1