- 进制转换十进制
- 十进制-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