进制转换十进制
十进制-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进制来说的,计算机数据存储全是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