二进制、十进制、八进制、十六进制转换

整数篇

二→十
01
2^n…2^1 2^0依次乘

十→二
①    8421法 凑数
②    除二无法整除则1 能就0 结果逆着结

二→八(0开头)
取三位(取不了补一个0)分别421

八→二
分开看 除二(同理)必须成三位(不然补0)

二→十六(0x开头)
8421法

十六→二
分开看 除二(同理)必须成四位(不然补0)

十六→十
同理十→二 乘的是16^n…16^2 16^1 16^0
0123456789ABCDEF
八→十
同理十→二 乘的是 8^n…8^2 8^1 8^0
01234567

小数篇


二→十
已知整数部分是从右到左(0123…)小数部分则为从左到右(1/2 1/4 1/8…(1/2)^n)

十→二

用2乘,只乘小数部分,直到没有小数,最后从上到下。
这么看好像有点抽象,eg:二进制、十进制、八进制、十六进制转换_第1张图片
 

其他进制同理
十→八
用8乘,只乘小数部分,直到没有小数,最后从上到下。

十→十六
用16乘,只乘小数部分,直到没有小数,最后从上到下。

负数篇

标志位1为负号

与正数恰好01相反

eg:
二进制、十进制、八进制、十六进制转换_第2张图片
 

你可能感兴趣的:(算法,c语言)