C语言基础中,进制之间的转换 作者:王可利(Star·星星)
整型的表现形式有如下几种方式:
十进制: 都是以0-9这九个数字组成,不能以0开头。
二进制: 由0和1两个数字组成。
八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以ox开始。
1.十进制转二进制
方法:十进制的数除以2,然后取余数,直到最后的商为0为止。。然后余数从下到上取(这个就是二进制的数)
2.二进制转十进制
方法:把二进制数按权展开、相加就是十进制数。
分析:二进制4位数字,从个位开始数:0.1.2.3 就分别是
个位的数乘以2的0次方+十位的数乘以2的1次方+百位的数乘以2的2次方+千位的数乘以2的3次方=十进制的数
3.十进制转八进制(类似十进制转二进制的方法)
方法:十进制的数一直除以8,直到商为0,然后倒着取余八进制的数
4.八进制转十进制(类似二进制转十进制的方法)
方法:把八进制的数按权展开,相加就是十进制数。
5.二进制转八进制
方法1:二进制 -> 十进制 -> 八进制
方法2:2的3次方是8,所以,二进制可以从个位开始,切成3个3个为一组,最高位不够3个就补0。。
然后每一组数就代表八进制的一个位数。。
二进制转十六进制也是一样的方法
5.八进制转二进制
方法1:八进制 -> 十进制 -> 二进制
方法2:八进制每一位数进行除2取余,如果取出来的余数不够3个就在最高位补0。(为什么是不足3个在最高位补0?因为2的3次方是8)。
十六进制转二进制也是一样的方法