四种数制
二进制是Binary,简写为B
八进制是Octal,简写为O
十进制为Decimal,简写为D
十六进制为Hexadecimal,简写为H
数制之间相互转换的办法
-
十进制数转换为非十进制
-
十进制整数转换为非十进制整数
除基取余,先余为低(位),后余为高(位);
-
十进制小数转换为非十进制小数
乘基取整,先整为高(位),后整为低(位)
-
如果一个十进制数既有整数部分,又有小数部分,则应将两者分别进行转换,然后把两者相加便得到结果。
- 非十进制数转换为十进制数
非十进制数转换为十进制数采用位权法,即把各非十进制按权展开,然后求和即可。
-
二进制和其他进制之间的转换
-
二进制与八进制之间的转换
由于3位二进制数恰好是1位八进制数,所以若把二进制数转换为八进制数,只要以小数点为界,将整数部分自右向左和小数部分自左向右分别按每三位为一组,(不足三位用零补齐),然后将各个3位二进制数转换为对应的1位八进制数,即得到结果。
反之,若把八进制数转换为二进制数,只要把每一位八进制数转换为对应的3位二进制数即可。 -
二进制与十六进制之间的转换
-
同上,每四位为一组进行对应转换即可
C语言本身不支持二进制