进制转换:
二进制以"0b"开头(计算机不允许输出),八进制以"0"开头("%o"),十进制直接写("%d"),十六进制以"0x"开头("%x")。
(1)二进制,八进制,十六进制 -> 十进制 二进制 : 1101 = 1*2^3 + 1*2^2 + 1*2^0 = 13 八进制 : 0123 = 1*8^2 + 2*8^1 + 3*8^0 = 83 十六进制 : 0x123 = 1*16^2 +2*16^1 + 3*16^0 = 291
(2)十进制 -> 二进制,八进制,十六进制 二进制 :十进制数对2取余再取整,得到所有余数倒序。
(整数部分除2取余,小数部分乘2取整) 八进制 :十进制数对8取余再取整,得到所有余数倒序。(同理,对8取余) 十六进制 :十进制数对16取余在取整,得到所有余数倒序。(同理,对16取余)
(3)二进制 -> 八进制(八进制转二进制)
二进制每3位为一个单元(3合1),转换成十进制数字,最后将十进制数组合,便是八进制。
八进制转二进制是1拆3
(4)二进制 ->十六进制(十六进制转二进制) 二进制每4位为一个单元(4合一),转换成十进制数字,最后将所有十进制数字组合,便是 十六进制 (注:十六进制中,10~15数字用A~F表示) 十六进制转2进制是1拆4
最后附上二进制算法图片,和进制图标,可以找好记的记忆一下,然后前后的数计算起来就快了很多
|